ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 关于隔离性 Saga不支持隔离性,BeetlSQL的Saga实现,也无法无法做到,隔离性是传统数据库事务中最复杂的部分,对于微服务来说,隔离性实际上具有业务含义,可以通过业务代码实现隔离性,因此所有的Saga框架,都需要用户自己如何实现业务数据隔离性。比如,用户的余额,在进行实际扣减的时候,会增加一个事务标志,表示Saga事务正在进行。这样,后续的余额操作会考虑到此标记,停止操作余额,直到此标记重置。 > BeetlSQL 没有在Saga 事务成功结束的时候通知各个系统,主要是考虑到有通信代价。用户可以扩展Saga-Server实现,或者利用微服务系统之间通知,比如业务A(余额扣费)调用业务B(下单成功),业务B完成后显示的通知业务A成功。