1、Select:数据接入,Extract:数据抽取,并行化调度可解决Extract/Transform阶段的IO瓶颈,实现数据同步的低延时。
2、将处理过程分为 SETL 4个Stage,利用queue连接起来形成一个pipeline的处理链,并且在Stage中利用控制器进行资源的调控,提升资源利用率。
3、为了保证有序性,一份i艘绒庳焰nstance(对应于一个server上的数据队列,1个server对应1..n个instance)同一骀旬沃啭时间只能由一个canal client进行get/ack/rollback操作。
4、使用zookeeper临时节点,会话失效,节点自动删除;Manager监听Node节点,节点故障时进入冻结期,冻结期后如果节点没有回复,启动HA流程进行切换。
5、zookeeperr集群容灾;Manager多机房容灾:连接失败切换到下一台;Node节点跨IDC机房部署实现机房容灾。
6、使用DBProxy实现mysql协议的数据库代理,提供分库分表、读写分离、数据汇聚功能,并对应用层屏蔽分库分表。
7、在数据同步组件中也加入逻辑表的概念,实现自动获取库表信息并生成数据表配置,大大减小了配置的工作量。