第一:考虑数据同步的场景;第二:你分布式数据库的类型;第三:你的业务架构;第四:也是最重要的,对数据一致性的容忍性。
跨机房的数据复制方式一般是专线网络 + DB复制 来保障,终端服务实现跨机房的话 就需要系统相关的所有组件都支持跨机房高可用,并且需要实现自动化切换。补充一点, 跨机房服务部终端,会牺牲一定的数据一致性。这是数据级的,如果是业务级别的,还得有数据入口的路由, 应用与依赖组件多机房高可用部署(MQ、Hbase、对象存储服务等),部分组件需要应用双写多机房,比如Hbase、对象存储的写入,诸如此类的细节也要考虑到
( 1 )操作管控:实现数据流控制和数据同步控制的功能,做到管控数据操作。
( 2 )高吞吐:数据同步要求做到至少 10 万 TPS ,不含大事务和数据库表结构变更情况下时延在 3 秒以内。
( 3 )多链路冗余:同一个数据包能在多条网络线路上同时传输,末端会自动选择最早到达且符合要求的数据包。
( 4 )防网络抖动:支持网络拥塞控制算法抵御跨数据中心的网络丢包和网络时延抖动,避免因此发生数据同步的效率大幅下降。
收起