场景
假设一个分布式业务需要 A B C 三个子业务完成,三个子业务分别运行与三个子系统。
A 完成发送消息到B, B完成发消息到C, C完成,整个业务逻辑完成。
A BL Success -> B
B BL Success -> C
C failed
注:每个子系统会错误重试,重试次数达到上限为failed.
问题
- 在什么情况下会发生重试N次依然失败,重试是否能够完全能解决失败的问题?
- A 和B 子系统是否需要回滚?
- 如果回滚是必要的,如何实现回滚?
假设一个分布式业务需要 A B C 三个子业务完成,三个子业务分别运行与三个子系统。
A 完成发送消息到B, B完成发消息到C, C完成,整个业务逻辑完成。
A BL Success -> B
B BL Success -> C
C failed
注:每个子系统会错误重试,重试次数达到上限为failed.