业务系统多机房多活实现思路 多机房多活需要解决的问题: 实现思路: 方案2: 基于TIDB
实现思路:
方案1:用id段来区分集群。并根据不同id段调度到不同机房。
按PDCA思路来:
1.每个机房部署一个ID生成器,并分配不同的id段。
ID0-10000分配给A机房。
ID10001-20000分配给B机房。
2.当A机房业务系统产生对象创建请求时,调用本机房的id生成器服务,生成id
由于本机房里面部署了ID生成器。生成的对象持久化到数据库时id就是本机房的。
3.A机房和B机房的数据库双向同步。
双向同步确保两边数据库都拥有全量数据。
4.
方案2: 基于TIDB
TIDB本身是个分布式数据库,原生支持跨机房部署。用raft算法实现数据一致性。