
1、@刘江涛 提问:
已知在同一个分布式事务中,各个 RM 的模式都应该与对应 TM 模式相同。那同一个微服务可以多种模式并存吗?比如 AT , XA , Saga 并存,然后 A 业务使用 AT 模式,B 业务使用其他模式之类的。
A:不可以,隔离性无法得到保证。如果要一起用,就要保证一条调用链路中所有数据的隔离性,也就是跟 AT 一样都得去竞争锁,而且 Saga,TCC 之类的对 SQL 没要求,可能在跟 AT 一起使用的时候就有要求了,得不偿失。
如果公司要引入多种模式的话,微服务之间的关系是这样的吗?
A :是的,当然 AT 集群是可以调 Saga 集群的,但是他们不能属于同一个全局事务,也就是 AT 那个事务提交了,Saga 的如果回滚了,是 Saga 集群的问题,等于有 2 个全局事务的诞生。
本周发布详情如下:
重构了 StreamFilter 框架,提供更强的可复用的能力
支持 MaxProcs 可基于 CPU 使用限制自动识别的能力
支持指定 Istio cluster 的网络
针对高并发场景的内存使用进行了优化
多处BUG修复

本文分享自微信公众号 - 金融级分布式架构(Antfin_SOFA)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。