引入日志和补偿机制
- 柔性事务的原子性主要由日志保证。
- 参与者节点会根据重做或回滚需要而记录REDO/UNDO日志。当事务重试或回滚时,可以根据这些日志最终将数据恢复到一致状态。
- 数据REDO/UNDO日志一般记录在业务数据库上,可以保证日志与业务操作一致(同时成功或失败)。
- 通常柔性事务能通过日志记录找回事务的当前执行状态,并根据状态决定是重试异常步骤(正向补偿),或回滚前序步骤(反向补偿)。
阿里TXC框架
- TXC Server, TXC Client
- 关键是TXC Client的实现,记录UNDO/REDO日志,用于支持自动回滚能力。类似XA原理。
网友评论