gydtep 发表于 2020-6-18 15:47:52
T1,T2,...,Ti,Ci,...,C2,C1:执行到第 i (i<=n) 个事务的时候失败了,则按照 i->1 的顺序依次调用补偿操作。如果补偿失败了,就一直重试。补偿操作可以优化为并行执行。gydtep 发表于 2020-6-18 16:34:28
允许空补偿:网络异常导致事务的参与方只收到了补偿操作指令,因为没有执行过正常操作,因此要进行空补偿。gydtep 发表于 2020-6-18 16:36:42
保持幂等性:事务的正向操作和补偿操作都可能被重复触发,因此要保证操作的幂等性。gydtep 发表于 2020-6-18 16:44:17
防止资源悬挂:网络异常导致事务的正向操作指令晚于补偿操作指令到达,则要丢弃本次正常操作,否则会出现资源悬挂问题。gydtep 发表于 2020-6-18 18:00:01
不能被订阅者消费,等到事务消息的状态更改为可消费状态后,下游订阅者才可以监听到次消息。gydtep 发表于 2020-6-18 19:54:21
下游参与者收到消息后,执行本地事务,本地事务如果执行成功,则给 MQ 系统发送 ACK 消息;如果执行失败,则不发送 ACK 消息,MQ 系统会持续推送给消息。gydtep 发表于 2020-6-18 20:18:57
基于事务消息的模式对 MQ 系统要求较高,并不是所有 MQ 系统都支持事务消息的,RocketMQ 是目前为数不多的支持事务小的 MQ 系统。gydtep 发表于 2020-6-18 23:10:14
根据LinkedIn公司在去年8月发布的美国劳动力报告中提到gydtep 发表于 2020-6-19 08:27:49
针对电商拼团业务在设计中会有两个角色,分别是团长和参团者。团长发起拼团,参团者加入团长发起的团。gydtep 发表于 2020-6-19 09:54:31
虽然也有两个角色,但社交属性是非常弱的,说白了,随着交易的完成,场景就关闭了。