一、方案背景
订单系统是每个公司最核心的业务系统,订单逻辑执行过程中会和多个业务系统交互,如何保障订单系统和其它业务系统数据的一致性是订单系统的核心问题,数据的不一致性可能导致业务无法正常流转,甚至产生资损。
二、技术方案
2.1 全异步方案
适用场景: 资源充足、不需要实时得到反馈的场景;
方式一:事务消息
方式二:Binlog消息
2.2 全同步方案
适用场景: 需要进行资源校验,实时得到反馈的场景;
方式一:AT模式
AT模式对业务无入侵,适用于对性能要求不高的场景;
方式二:TCC模式
TCC模式对业务存在入侵,适用于对性能要求高,需要灵活定制的的场景;
2.3 混合方案
将业务逻辑分成同步和异步两大类,先按照同步的方案执行,然后再通过消息实现最终一致性;
参考: