day59_java_基础巩固

简介: 自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!

RocketMQ 如何实现分布式事务?

1、生产者向 MQ 服务器发送 half 消息。

2、half 消息发送成功后,MQ 服务器返回确认消息给生产者。

3、生产者开始执行本地事务。

4、根据本地事务执行的结果(UNKNOW、commit、rollback)向 MQ Server 发送提交

或回滚消息。

5、如果错过了(可能因为网络异常、生产者突然宕机等导致的异常情况)提交/回滚消息,

则 MQ 服务器将向同一组中的每个生产者发送回查消息以获取事务状态。

6、回查生产者本地事物状态。

7、生产者根据本地事务状态发送提交/回滚消息。

8、MQ 服务器将丢弃回滚的消息,但已提交(进行过二次确认的 half 消息)的消息将投递

给消费者进行消费。


Half Message : 预 处 理 消 息 , 当 broker 收 到 此 类 消 息 后 , 会 存 储 到

RMQ_SYS_TRANS_HALF_TOPIC 的消息消费队列中。


检查事务状态:Broker 会开启一个定时任务,消费 RMQ_SYS_TRANS_HALF_TOPIC 队列

中的消息,每次执行任务会向消息发送者确认事务执行状态(提交、回滚、未知),如果是

未知,Broker 会定时去回调在重新检查。


超时:如果超过回查次数,默认回滚消息。

也就是他并未真正进入 Topic 的 queue,而是用了临时 queue 来放所谓的 half message,

等提交事务后才会真正的将 half message 转移到 topic 下的 queue。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
网络协议 Java 网络性能优化
Java基础杂文
这段内容介绍了HTTPS无法解决的问题,包括网络延迟、数据包大小、并发请求限制和性能影响。接着解释了双亲委派模型,这是一种类加载机制,通过将加载请求逐级向上委托给父类加载器来完成。最后,详细对比了TCP和UDP两种传输层协议的区别,以及`select`的原理及其缺点,如频繁的用户态与内核态间的数据拷贝和遍历操作带来的性能损耗。
Java基础杂文
|
4月前
|
存储 Java 开发工具
Java基础 -
Java基础 -
23 0
|
NoSQL Java 数据库连接
day40_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
运维 Dubbo Java
day35_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i
|
5月前
|
存储 Java 开发工具
day04_java基础
day04_java基础
|
缓存
day47_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
XML Java 应用服务中间件
day39_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i
|
消息中间件 存储 RocketMQ
day55_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
NoSQL 安全 Redis
day54_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
安全
day05_java基础
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!