一、为啥会有数据一致性产生?
分布式系统采用多机分布式部署方式,数据分布在不同的机器上,必然存在数据复制,而因为网络抖动等原因容易导致不同机器之间的数据复制后数据不一致。从而引出如何保证多副本数据之间的一致性问题。
二、数据一致性的几种模式?
2个或者多个数据副本情况下的数据一致性模式分为:
1、强一致性:只有主副本提供读写,数据会异步回放到从副本,主副本节点故障,从副本所在节点晋升为主副本点。
2、最终一致性:主从副本都提供读写,数据会相互同步,保证副本之间的数据最终一致;
三、如何解决数据一致性问题?
基于CAP理论和BASE模型,目前解决数据一致性问题的方案有
1、两阶段提交(2pc);
2、三阶段提交 (3pc);
3、TCC模式;
4、非事物消息;