异地多活单元化架构下的微服务体系
治理服务间的跨IDC调用,而数据库层面还是要跨IDC
服务注册中心拆开、
金融要求,距离太远,异地备库,如果延迟没读到数据就可能有资损,IDC3平时不能用,IDC1挂了还是有数据同步问题,IDC3日常维护也有问题(平时没运行)
根因:服务访问数据库随机需要建立n个连接(最大服务数量),连接达到上限
数据库和服务作为单元,自包含
但是像转账场景还是有跨IDC调用不可避免,即使账号和流水的库在一个单元内
某个单元挂了怎么办,如何做主备库,还是要主备库分开部署
OceanBase paxos多副本,地域业务优先级选举,在多大数副本ok情况下可用。
如何减少单元调用,一层一层做,越早越好,最后数据库层一定要兜底
参考视频:
异地多活单元化架构下的微服务体系_哔哩哔哩_bilibili
从业务角度看异地多活
异地多活
1.只保证核心业务 AP (CAP是数据维度观点,一个系统可以AP数据和CP数据)
2.恢复后有冲突
3.只保证登入
4.保障大多数用户
多级队列同步,核心业务单独同步
数据库很多需要同步,消息队列很快,核心业务同步