中等
技术面试0 次浏览

蚂蚁集团的业务涉及多系统间的交互,在分布式系统中,如何保证不同系统间数据的一致性?请给出至少两种方案并简要说明优缺点。

分布式系统数据一致性系统交互

答题要点

使用对比分析法,对比不同方案的优缺点。要点如下:一是两阶段提交协议,先预提交,所有参与者同意后再正式提交。优点是强一致性,缺点是性能差、存在单点故障。二是消息队列实现最终一致性,业务系统发送消息到队列,其他系统消费消息处理。优点是异步解耦、性能好,缺点是不能保证强一致,可能有消息丢失。三是 TCC 模式,包含 Try、Confirm、Cancel 三个阶段。优点是性能较好,缺点是开发复杂。示例思路:可以先介绍两阶段提交协议,说明其强一致但性能差的特点,再阐述消息队列方案,表明它性能好但一致性稍弱。