Saga | English
Apache ServiceComb (incubating) Saga 是一个微服务应用的数据最终一致性解决方案。相对于TCC而言,在try阶段,Saga会直接提交事务,后续rollback阶段则通过反向的补偿操作来完成。
- 高可用。支持集群模式。
- 高可靠。所有的事务事件都持久存储在数据库中。
- 高性能。事务事件是通过gRPC来上报的,且事务的请求信息是通过Kyro进行序列化和反序列化的。
- 低侵入。仅需2-3个注解和编写对应的补偿方法即可进行分布式事务。
- 部署简单。可通过Docker快速部署。
- 支持前向恢复(重试)及后向恢复(补偿)。
Saga是由 alpha 和 omega组成,其中:
- alpha充当协调者的角色,主要负责对事务进行管理和协调。
- omega是微服务中内嵌的一个agent,负责对网络请求进行拦截并向alpha上报事务事件。
详情可浏览Saga Pack 设计文档.
详情可浏览出行预订示例。
如何构建和使用可浏览用户指南。
详情可浏览代码提交指南。