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版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
弹性计算 负载均衡 容灾
阿里云服务器地域和可用区之间是什么关系?地域和可用区的区别与选择参考
不管是选择阿里云的国内云服务器还是国外云服务器,都有多个地域及可用区选择,目前国内地域有北京、青岛、甚至等13个地域可选,国外地域有韩国、新加坡、悉尼等15个地域可选,每个地域又有多个可用区可选,那么阿里云服务器地域和可用区之间是什么关系?作为用户的我们又改如何选择呢?本文介绍阿里云地域和可用区的概念、选择指导、两者的关系以及阿里云支持的地域和可用区列表。
991 0
阿里云服务器地域和可用区之间是什么关系?地域和可用区的区别与选择参考
|
Java Linux Shell
Gradle下载与安装
Gradle下载与安装
1925 0
|
程序员 C++ 容器
73 C++ - string容器
73 C++ - string容器
94 0
|
JSON Rust 安全
【一起学Rust | 框架篇 | Viz框架】轻量级 Web 框架——Viz
【一起学Rust | 框架篇 | Viz框架】轻量级 Web 框架——Viz
507 0
|
缓存 JavaScript
computed/watch深度监听
computed/watch深度监听
392 1
|
安全 Java API
深入了解java.util.Date类:历史、功能和使用注意事项
本文详细介绍了Java中的`java.util.Date`类,包括其历史、基本功能和使用时的注意事项。`Date`类最初用于简单表示日期和时间,但随着发展暴露出了不可变性、线程安全性和时区处理等问题。文章展示了如何创建和操作日期,以及如何使用`SimpleDateFormat`进行日期格式化和解析。虽然Java 8引入了更好的`java.time`包,但理解`Date`类仍然很重要,特别是处理旧代码或兼容性问题时。注意`Date`类的废弃方法、非线程安全性质以及月份从0开始等细节。
450 1
|
消息中间件 Java 网络架构
在Spring Boot中实现微服务间的通信策略
在Spring Boot中实现微服务间的通信策略
|
Windows
(文件[夹]批量分类整理_多级匹配_交叉匹配_路径结构交叉调整)文件[夹]批量复制
该文介绍了如何使用特定工具进行批量文件整理。首先,需要从提供的百度网盘和蓝奏云链接下载工具,并用提取码解锁。接着,打开工具的批量复制功能,将待整理的图片文件拖入“来源路径”,目标文件夹拖入“终点路径”。通过层级过滤排除不需要的路径。然后,利用多级匹配设置,提取文件名和路径中的关键词,如“动物”、“小型”、“食草”等,设置复制后的文件重命名规则。最后,执行批量复制,完成文件的智能分类与命名。整个过程旨在根据文件的原始分类信息,自动将其移动到相应的新目录结构下。
|
机器学习/深度学习 数据采集 自然语言处理
中文电影数据集情感分类的torch网络,数据集下载地址
步骤如下: 1. 数据集:找到一个中文电影评论数据集,可以从以下网站下载: • https://www.aclweb.org/anthology/O18-2012/ • https://github.com/SophonPlus/ChineseNlpCorpus/blob/master/datasets/ChnSentiCorp_htl_all/intro.ipynb • 2. 数据预处理:将数据集分为训练集和测试集,并进行数据清洗、分词等预处理。 3. 构建模型:使用 PyTorch 框架构建一个情感分类模型,可以使用 LSTM 或 Transformer 等深度学习模型。 4. 5.
826 0
|
消息中间件 存储 NoSQL
EMQ如何保证消息不丢失?
EMQ 通过以下方式来保证消息不丢失
965 0