Kafka多中心,数据的同步,并发写,写完另一个地方读的场景
问题
你有考虑过像中后台的一个,比如说Kafka那些,你有多个点的数据库的时候,你会怎么考虑,比如说业务中经常会有多中心,很多人都去用这个服务,到时他部署的时候可能为了稳定性,它会可能会多中心,多中心就会存在写完立即就读的一个问题,你有考虑过这多中心的这么快的一个运营部署,你会怎么去设计呢?
对,就数据库是多份的。这用户可能在a中心登录,有可能在b中心登录,那他的数据的同步,数据的并发写,或者是一个写完之后可能在另外一个地方读这种场景,有去思考过么?
回答
数据一致性和高可用性的权衡
要保证在A写了之后立马在B读,就是数据一致性要求
但是数据同步肯定是要时间的,一般可能是用消息队列来同步。
如果数据一致性要求高,那么用户写的时候以同步阻塞方式同步数据,同步完成所有节点后再给用户返回已保存的回复。
如果可用性要求高,那就异步的同步数据,用户在A写,再在B查,查到最新结果可能有延迟
分布式系统必然要考虑CAP定理
同步阻塞,同步非阻塞,异步

浙公网安备 33010602011771号