网站路径301重定向怎么做,做视频网站要什么软件,电信网站备案,电子商务推广方式有哪些RocketMQ的分布式事务消息功能#xff0c;在普通消息基础上#xff0c;支持二阶段的提交。将二阶段提交和本地事务绑定#xff0c;实现全局提交结果的一致性。 1、生产者将消息发送至RocketMQ服务端。
2、RocketMQ服务端将消息持久化成功之后#xff0c;向生产者返回Ack确…RocketMQ的分布式事务消息功能在普通消息基础上支持二阶段的提交。将二阶段提交和本地事务绑定实现全局提交结果的一致性。 1、生产者将消息发送至RocketMQ服务端。
2、RocketMQ服务端将消息持久化成功之后向生产者返回Ack确认消息已经发送成功此时消息被标记为暂不能投递这种状态下的消息即为半事务消息。
3、生产者开始执行本地事务逻辑。
4、生产者根据本地事务执行结果向服务端提交二次确认结果Commit或是Rollback服务端收到确认结果后处理逻辑如下
二次确认结果为Commit服务端将半事务消息标记为可投递并投递给消费者。
二次确认结果为Rollback服务端将回滚事务不会将半事务消息投递给消费者。
5、在断网或者是生产者应用重启的特殊情况下若服务端未收到生产者提交的二次确认结果或服务端收到的二次确认结果为Unknown未知状态经过固定时间后服务端将对消息生产者集群中任一生产者实例发起消息回查。
6、生产者收到消息回查后需要检查对应消息的本地事务执行的最终结果。
7、生产者根据检查到的本地事务的最终状态再次提交二次确认服务端仍按照步骤4对半事务消息进行处理。
注意问题 消息类型 事务消息仅支持在MessageType为Transaction的主题使用即事务消息只能发送至类型为事务消息的主题中。
消息消费 RocketMQ事务消息保证生产者本地事务和下游消息发送事务的一致性但不保证消息消费结果和上游事务的一致性。因此需要下游业务自行保证消息正确处理建议消费端做好消费重试。
中间状态 RocketMQ事务消息一致性为最终一致性即在消息提交到下游消费端处理完成之前下游和上游事务之间的状态会不一致。因此事务消息仅适合能接受异步执行的场景。
事务超时 RocketMQ事务消息的生命周期存在超时机制即半事务消息被生产者发送服务端后如果在指定时间内服务端无法确认提交或者回滚状态则消息默认会被回滚。