金融行业跨中心异构数据同步方案设计_第1页
金融行业跨中心异构数据同步方案设计_第2页
金融行业跨中心异构数据同步方案设计_第3页
金融行业跨中心异构数据同步方案设计_第4页
金融行业跨中心异构数据同步方案设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、金融行业跨中心异构数据同步方案设计技术创新 变革未来目录需求背景架构设计案例实践未来规划需求背景4简单的数据同步?MySQL主从复制主主复制异步复制半同步复制UPSQLA机房/A中心UPSQLB机房/B中心需求背景5分库之后双中心需要转所有的表?双中心的部署资源不匹配?中心内主从切换?Pr ox yUPSQL-1UPSQL-1UPSQL-nUPSQL-nUPSQL-2UPSQL-2UPSQL.UPSQL.Pr ox yUPSQL-1UPSQL-1UPSQL-2UPSQL-2UPSQL.UPSQL.上海中心北京中心需求背景AppAppUPSQLA中心UPSQLB中心RedisRedis 还有双中

2、心的缓存同步数据库与缓存之间同步需求背景7更复杂的情况?联机 = 汇总库形变异构数据库(DB2, ElasticSearch)UPSQL-1UPSQL-2UPSQL-3联机分片汇总库实时交易查询大数据业务系统ETL工具T+1需求背景 数据同步组件-Moray源数据库 目标 数据库数据获取数据加工和传输数据回放Moray是一个数据同步组件,为数据库之间提供点对点、准实时数据同步服务。Moray 架设于源数据库与目标数据库之间,通过解析源库日志或扫表获取数据,经过内部加工,然后传输至目标库进行回放,从而实现数据同步。 对应用透明 应用无需额外开发 尽可能降低对主库性能的影响架构设计 前后端分离前后

3、端模块插件化设计,设计内部通用协议,以支持不同数据源和目标数据库的组合。MorayODBC插件Mortise 插件UPRedis 插件ES插件后端插件前端模块UPSQL/ DB2/ UPRedis/远程UEyes 插件UPSQL日志解析远程 数据接收DB2数据扫描UPRedis 日志解析UPSQL / DB2UPRedisElasticSearchBigDataRemote数据源架构设计 设计要点数据 一致 性高安 全高可 用高性 能断点续传保证数据零丢 失;报文校验防数据篡 改。采用端到端同步,去中心 化,各业务之间互不影响; 独立运行,降低与源库的 耦合度;可根据数据库架 构灵活部署。尽可

4、能不直接读源表,不 与应用竞争数据库资源; 数据压缩传输,节约带宽; 多线程并行回放,并优化 并行算法。尽可能不拆分事务,保 证事务原子性和数据一 致性。架构设计 设计要点高可 管理容错 机制异步 化插件 化针对多种异常场景设计了 容错策略,如:自动过滤 重复数据;数据异常自动 转换补偿等。组件之间接口异步化,无 阻塞,后一组件通过异步ACK给前一组件应答,提 高整体性能。总体分为前端模块和后端 插件,模块和插件均易于 扩展,未来可支持更多数 据源和目标库。管理监控平台实现节点管 理和运行状态监控。如: 同步进度、时延。架构设计 同构或异构数据库间数据同步目标库数据源UPSQLDB2UPRed

5、isElasticSearchUeyes (Impala)KafkaUPSQLDB2UPRedisUPSQL:解析源库binlog日志获取数据,通过ODBC插件写入UPSQL或DB2数据库,或通过ES插件写入 ElasticSearch等;推荐用于UPSQL实时数据同步。DB2: 扫描源库表格获取数据,通过ODBC插件写入UPSQL或DB2;推荐用于一次性数据迁移。UPRedis: 解析源库AOF日志,通过redis插件写入redis,或通过ODBC插件写入UPSQL;推荐用于UPRedis缓存数 据实时同步,或持久化至数据库。架构设计 - UPSQL实时同步 Binlog dump协议,获取

6、/解析增量日志 Moray内部协议格式保持数据库的事务特性 参考MySQL组提交,将可以并发的事务归入一组 同时支持MySQL XA协议(分布式事务)= 19fc90f5-b17a-11e8-a842-9cb6548afe90:1= XA START X78612d31,X,1 = test.t = insert into .= XA END X78612d31,X,1 = XA PREPARE X78612d31,X,1= 19fc90f5-b17a-11e8-a842-9cb6548afe90:2= XA COMMIT X78612d31,X,1;架构设计 - UPSQL实时同步 数据安全

7、断点续传严格保证数据零丢失文件位点或GTID策略保证数据起点精准报文校验和保证数据包传输完整内部协议设计上保证数据回放时的ACID特性断点续传文件位点GTIDchecksumMorayUPSQL主UPSQL备UPSQL主UPSQL备P R O XyP R O Xy一组主备库共享一条同步链路Moray与两中心的Pro xy 相连,由Pro xy 负责数据库的高可用切换Moray自身为冷备,需手动切换;银联使用DB aaS 平台集成,由DB aaS 负责主备切换架构设计 - UPSQL实时同步新增数据库分片时需新增Moray同步线路。P R O X YP R O XyUPSQL-1UPSQL-1U

8、PSQL-nUPSQL-nUPSQL-2UPSQL-2UPSQL.UPSQL.UPSQL-1UPSQL-1UPSQL-nUPSQL-nUPSQL-2UPSQL-2UPSQL.UPSQL.UPSQL-xUPSQL-xUPSQL-xUPSQL-xMorayMorayMorayMorayMoray架构设计 - UPSQL实时同步架构设计 - UPSQL实时同步 容错机制容错场景容错策略备注重复执行同一段日志多次回放UPSQL根据GTID自动过滤数据异常Insert记录已存在Moray自动转换为updateUpdate记录不存在Moray自动转换为insertDelete记录不存在Moray自动忽略数

9、据冲突切库或回切,数据延迟导致 数据被双写Moray根据时间戳或版本号保留最新的 记录11. 要求表上有时间戳字段(精度越高越好)或版本号字段架构设计- UPSQL实时同步数据库变更Moray目前不支持DDL语句变更需根据如下策略模式灾备双活同步线路单向双向DDL类型新增表 新增字段增加字段长度新增表 新增字段增加字段长度是否停数据库否否是否停Moray否是操作步骤备中心变更主中心变更停止Moray同步双中心同时变更启动Moray同步架构设计 数据形变 使用lua脚本配置数据形变功能架构设计 数据形变 更复杂的一个例子压缩和校验TPSCPU使用量网络传输源端目的端无压缩,无校验100002.1

10、C6C195Mbps无压缩,有校验98002.2C6.2C191Mbps有压缩,无校验95002.4C6.5C18.5Mbps有压缩,有校验94002.5C6.6C18.3Mbps测试环境:源端:虚机一台4C4G目的端:虚机一台8C8G回放线程数:64银联内部通用测试场景,一条记录2K,一个事务包含一个Insert语句以及一个Update语句架构设计-UPRedis实时同步架构设计-UPRedis实时同步INCR kINCR kINCR KINCRBY k N压缩INCRBY K NLPUSH l vSET foo barHMSET m fv过滤PIPELINEUPREDIS主(上海)UPRE

11、DIS主(北京)异地 传输 高性能报文压缩,减少网络带宽PIPELINE发送,提高收发效率设计性能10万QPS,流量400Mbps,压缩后40MbpsUPREDIS异地同步架构设计-UPRedis实时同步 高可用正常情况下,UPREDIS从备库同步数据当备库不可用时:u 如果1主1从,UPREDIS从主库同步数据u 如果1主多从,UPREDIS从其它从库同步数据主备切换时,异地同步组件订阅sentinel信息,切换到新主UPREDIS主UPREDIS备Moray- upredisUPREDIS主UPREDIS备UPREDIS备Moray- upredisUPREDIS主UPREDIS备Moray- upredisUPREDIS主UPREDIS新主Moray- upredissentinelsentinelsen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论