多语言展示
当前在线:1945今日阅读:19今日分享:20

数据同步如何实现低延时和高可用

数据同步对于低延时和高可用的要求都比较高,具体如何实现?
方法/步骤
1

Select:数据接入,Extract:数据抽取,并行化调度可解决Extract/Transform阶段的IO瓶颈,实现数据同步的低延时。

2

将处理过程分为 SETL 4个Stage,利用queue连接起来形成一个pipeline的处理链,并且在Stage中利用控制器进行资源的调控,提升资源利用率。

3

为了保证有序性,一份instance(对应于一个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

在数据同步组件中也加入逻辑表的概念,实现自动获取库表信息并生成数据表配置,大大减小了配置的工作量。

推荐信息