《2019年千亿级数据迁移和同步平台的架构实践.pdf》由会员分享,可在线阅读,更多相关《2019年千亿级数据迁移和同步平台的架构实践.pdf(33页珍藏版)》请在三个皮匠报告上搜索。
1、千亿级数据迁移和同步平台的架构实践目录CONTENTSPART 01 产品介绍篇PART 02 架构篇PART 03 最佳实践篇PART 04 未来篇产品介绍篇数据传输DTS-产品定位苏宁DTS是苏宁科技集团数据库研发团队参考开源组件研发的binlog数据传输PaaS平台,为苏宁易购同城双活提供千亿级规模的数据迁移和规整的工具支撑,同时也为各业务研发线(包括大数据平台)提供上游binlog数据服务,具体包括数据同步(库or表)、binlog订阅等服务。MySQLbinlog增量抽取binlog存储目标表1写入MySQL目标表2写入目标整库写入ClientSDKbinlog订阅ClientSDK
2、数据链路工作示意图:核心场景大数据MySQLMySQL集成平台2.多活数据规整3.数据迁移(异构)NMDB2MySQLNM4.数据同步(同构)MySQLMySQL1.大数据binlog采集MySQL5.业务系统binlog订阅业务AppMySQLHive11核心场景产品实例-数据链路监控(延时)产品实例-数据链路监控(TPS)平台的一些数据对接的上游MySQL实例数:1000+历史数据链路总数:15000+单链路最大数据量:60亿+(行记录)单业务域最大数据量:400亿+(行记录)历史累计数据量:1200亿+(行记录)单链路最高TPS:5w+架构篇单DC架构(PaaS模式)任务监控权限流数据处
3、理租户平面平台平面迁移订阅同步库级表级吞吐延时数据源链路租户1集群混合集群租户2集群租户.集群动态弹性扩缩容容灾/流控/负载均衡并发:库级/表级/行级租户隔离数据存储租户1集群混合集群租户2集群租户.集群弹性扩缩容三副本库级Data/表级Data租户隔离DTSF(分布式任务调度框架)多DC架构用户控制台用户控制台(温备)ManagerWorker-Clusters1ManagerWorker-Clusters2Job信息Worker-Clusters3Worker-Clusters4Job信息容灾切换DC1DC2DTSF概念模型MysqlPGMysqlPGRedisESDTSF-WorkerM
4、ysql SourcePluginMysql SinkpluginPG SourcePluginPG SinkpluginES SinkpluginRedis SinkpluginXX SinkpluginXXKafka SinkpluginKafkaDTSF工作模型Worker1Worker2Worker3Task-3worker3Task-2worker2Task-1worker1.Worker-Group-1Worker1Worker2Worker3Worker-Group-2Standby activeheartbeatmanagerjoinsyncRequest/responsesu
5、pportzookeeperswitch/dtsf/managers/active/cluster/1.1.1.18898/1.1.1.28898/tasks/1/2/position/status(永久永久)databasetable:dtsf_tasks,.Manager-Group最佳实践篇实践1:分布式负载均衡问题(Rebalance)要解决的问题Worker Clusterworker11,2,3,4,5worker26worker3CrazySo busy!So idle!目标效果:Relative BalanceWorker Clusterworker11,2worker23,4
6、worker35,6,7为了团队,牺牲一点,多接一个活!设计思路、场景设计思路:设计思路:Auto Rebalance,即:通过一些策略,在不同的场景下,触发不同模式的任务分配策略,将任务”相对”均衡的分配到各个worker 节点上运行。触发场景:触发场景:1.worker 心跳超时2.worker 节点启动和停止3.任务创建和删除(任务创建和删除(Incremental Rebalance)分配结果任务事件分配策略Rebalance-分配策略worker11,2,3worker24,5,6worker37,8worker11,2,3worker24,5