Kafka多中心,数据的同步,并发写,写完另一个地方读的场景

问题

你有考虑过像中后台的一个,比如说Kafka那些,你有多个点的数据库的时候,你会怎么考虑,比如说业务中经常会有多中心,很多人都去用这个服务,到时他部署的时候可能为了稳定性,它会可能会多中心,多中心就会存在写完立即就读的一个问题,你有考虑过这多中心的这么快的一个运营部署,你会怎么去设计呢?

对,就数据库是多份的。这用户可能在a中心登录,有可能在b中心登录,那他的数据的同步,数据的并发写,或者是一个写完之后可能在另外一个地方读这种场景,有去思考过么?

回答

数据一致性和高可用性的权衡

要保证在A写了之后立马在B读,就是数据一致性要求

但是数据同步肯定是要时间的,一般可能是用消息队列来同步。

如果数据一致性要求高,那么用户写的时候以同步阻塞方式同步数据,同步完成所有节点后再给用户返回已保存的回复。

如果可用性要求高,那就异步的同步数据,用户在A写,再在B查,查到最新结果可能有延迟

分布式系统必然要考虑CAP定理

同步阻塞,同步非阻塞,异步

posted @ 2025-05-13 15:52  kuki'  阅读(16)  评论(0)    收藏  举报