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
相关文章
|
5月前
|
存储 Java 开发工具
Java基础 -
Java基础 -
24 0
|
6月前
|
存储 缓存 安全
Java 基础
• Field : 可以使用 get() 和 set() 方法读取和修改 Field 对象关联的字段; • Method : 可以使用 invoke() 方法调用与 Method 对象关联的方法; • Constructor : 可以用 Constructor 创建新的对象。 Advantages of Using Reflection: • Extensibility Features : An application may make use of external, user-defined classes by creating instances of extensibility
|
存储 Java
day07_java基础
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!
day10_java基础
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!
|
6月前
|
存储 Java 开发工具
day04_java基础
day04_java基础
|
缓存 负载均衡 应用服务中间件
day61_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i,加油!!!
|
监控 Dubbo 中间件
day33_java_基础巩固
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!虽然有些干货知识很通俗,但也是自己的必经之路i
|
Java 编译器
day09_java基础
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!
day20_java_巩固基础
自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!
|
存储 缓存 算法