diff --git a/README.md b/README.md index 66cd490..7d93642 100644 --- a/README.md +++ b/README.md @@ -107,7 +107,7 @@ go run main.go 上述saga分布式事务的时序图如下: - + ### 失败情况 在实际的业务中,子事务可能出现失败,例如转入的子账号被冻结导致转账失败。我们对业务代码进行修改,让TransIn的正向操作失败,然后看看结果 @@ -120,7 +120,7 @@ go run main.go 再运行这个例子,整个事务最终失败,时序图如下: -![saga_rollback](https://pic3.zhimg.com/80/v2-8d8f1476be8a1e2e09ce97a89b4116c2_1440w.jpg) + 在转入操作失败的情况下,TransIn和TransOut的补偿操作被执行,保证了最终的余额和转账前是一样的。