Teambition业务本身是为了了更好的团队协作,并且随着用户量和使用⾏业、企业的增加,越来越多的跨国协作需求体现出来。对TB的选型来说,目的就是多region(大陆/海外)来提供服务,逐步扩大市场。总结而言,是业务的需要。
Single-Cluster or Multi-Cluster ?
• 单集群还是多集群的选择往往受到业务本身,以及希望实现什么样的多数据中心架构影响
• 是否需要所谓的多primary写入
Replsettag or Shardtagrange ?
• 数据库集群模式的选择
• 对写入位置的需求
Distributed queue or Traceoplog ?
• 场景需求
• 已有技术框架是否直接可供使用
分布式消息队列的解决方案主要是在producer与consumer之间添加⼀一层,通过此来在多个DC之间进行数据同步,并由各个DC的consumer进行消费。
Trace Oplog的解决方案是在数据经由mongodb后对集群中的oplog进⾏trace,并针对需要部分的oplog进⾏获取,并在各个DC中进⾏apply。