【RocketMQ】RocketMQ核心知识体系全解(5大核心模块:架构模型、事务消息两阶段提交、回查机制、延迟消息、顺序消息)

文章目录

  • RocketMQ核心知识体系全解
    • 一、RocketMQ核心架构模型(基础底座)
      • [1.1 四大核心架构角色与职责](#1.1 四大核心架构角色与职责)
      • [1.2 核心数据模型](#1.2 核心数据模型)
      • [1.3 核心存储架构](#1.3 核心存储架构)
      • [1.4 集群部署模式](#1.4 集群部署模式)
    • 二、RocketMQ事务消息:两阶段提交+事务回查机制
      • [2.1 核心前提与设计思想](#2.1 核心前提与设计思想)
      • [2.2 事务消息两阶段提交(2PC)完整流程](#2.2 事务消息两阶段提交(2PC)完整流程)
      • [2.3 事务回查机制(兜底容错核心)](#2.3 事务回查机制(兜底容错核心))
        • [2.3.1 回查机制的触发场景](#2.3.1 回查机制的触发场景)
        • [2.3.2 事务回查完整执行流程](#2.3.2 事务回查完整执行流程)
        • [2.3.3 回查核心参数与策略](#2.3.3 回查核心参数与策略)
        • [2.3.4 事务消息状态流转规则](#2.3.4 事务消息状态流转规则)
      • [2.4 适用场景与注意事项](#2.4 适用场景与注意事项)
    • 三、RocketMQ延迟消息(定时消息)核心原理
      • [3.1 固定等级延迟消息(4.x及之前版本)](#3.1 固定等级延迟消息(4.x及之前版本))
        • [3.1.1 核心设计:延迟等级映射](#3.1.1 核心设计:延迟等级映射)
        • [3.1.2 完整执行流程](#3.1.2 完整执行流程)
        • [3.1.3 核心优缺点](#3.1.3 核心优缺点)
      • [3.2 任意时间定时消息(5.x+版本)](#3.2 任意时间定时消息(5.x+版本))
        • [3.2.1 核心架构:TimerLog + 分层时间轮](#3.2.1 核心架构:TimerLog + 分层时间轮)
        • [3.2.2 完整执行流程](#3.2.2 完整执行流程)
        • [3.2.3 核心优化点](#3.2.3 核心优化点)
      • [3.3 适用场景](#3.3 适用场景)
    • 四、RocketMQ顺序消息核心原理
      • [4.1 顺序消息的核心分类](#4.1 顺序消息的核心分类)
      • [4.2 顺序消息的三层保障逻辑](#4.2 顺序消息的三层保障逻辑)
        • [4.2.1 发送端顺序保证](#4.2.1 发送端顺序保证)
        • [4.2.2 存储端顺序保证](#4.2.2 存储端顺序保证)
        • [4.2.3 消费端顺序保证](#4.2.3 消费端顺序保证)
      • [4.3 全局顺序消息实现与限制](#4.3 全局顺序消息实现与限制)
      • [4.4 分区顺序消息最佳实践](#4.4 分区顺序消息最佳实践)
      • [4.5 异常场景与容错处理](#4.5 异常场景与容错处理)
    • 五、知识体系总结与核心设计思想
      • [5.1 四大核心特性的设计思想与适用场景汇总](#5.1 四大核心特性的设计思想与适用场景汇总)
      • [5.2 知识体系闭环](#5.2 知识体系闭环)
      • [5.3 生产环境核心原则](#5.3 生产环境核心原则)

RocketMQ核心知识体系全解

本文全方位、结构化梳理RocketMQ的核心架构与五大核心特性(架构模型、事务消息两阶段提交、回查机制、延迟消息、顺序消息),形成完整的知识闭环,覆盖底层原理、执行流程、核心设计、容错机制与最佳实践。


一、RocketMQ核心架构模型(基础底座)

RocketMQ 是阿里开源的金融级分布式消息中间件,以低延迟、高可靠、高吞吐、可扩展为核心设计目标,采用轻量级分层架构,核心分为四大角色、三层数据模型、两大存储核心与多模式高可用集群架构。

1.1 四大核心架构角色与职责

RocketMQ的核心运行闭环由四个无状态/可水平扩展的组件构成,组件间解耦设计,保障集群高可用。

组件 核心定位 核心职责 高可用设计
NameServer 轻量级路由注册中心 1. 接收Broker的心跳注册与元数据上报,维护Broker集群路由信息; 2. 为Producer/Consumer提供Topic路由查询服务; 3. 剔除超时无心跳的故障Broker节点 集群化部署,节点间无数据同步,Broker向所有NameServer上报心跳,单个节点宕机不影响集群整体可用性
Broker 消息存储与中转核心 1. 负责消息的写入、存储、投递与持久化; 2. 维护Topic-Queue的分片信息,管理消费位点; 3. 实现事务消息、延迟消息、顺序消息的核心调度逻辑; 4. 主从节点间数据同步 支持Master-Slave主从架构,Master负责写流量,Slave承接读流量与数据备份;Dledger模式基于Raft协议实现自动主从故障切换
Producer 消息生产者 1. 从NameServer获取Topic路由信息,通过负载均衡将消息发送到指定Queue; 2. 支持同步/异步/单向发送模式,提供消息重试、超时容错机制; 3. 实现事务消息的本地事务执行与回查逻辑 集群化部署,节点间无状态,单个节点宕机不影响生产,支持故障节点自动剔除与路由重平衡
Consumer 消息消费者 1. 从NameServer获取Topic路由信息,拉取/接收消息并执行业务逻辑; 2. 维护消费位点,支持消费重试、死信队列机制; 3. 支持集群/广播两种消费模式,Push/Pull两种消费方式 集群化部署,同Consumer Group内实现Queue的负载均衡与重平衡,单个节点宕机自动将Queue分配给其他节点
核心交互流程
  1. Broker启动后,向所有NameServer节点发起注册,定时发送心跳上报Topic、Queue等元数据;
  2. Producer/Consumer启动时,连接NameServer,获取目标Topic的路由信息(Broker地址、Queue分布);
  3. Producer根据路由信息,通过负载均衡策略将消息发送到对应Broker的Queue中;
  4. Broker接收消息并完成持久化,维护消费索引;
  5. Consumer根据路由信息,从对应Broker的Queue中拉取消息,完成消费后上报消费位点。

1.2 核心数据模型

RocketMQ的消息组织采用三层逻辑模型,是所有核心特性的基础载体。

  1. Topic:消息的逻辑分类容器,业务层面按主题划分消息(如订单主题、支付主题),一个Topic对应多个Message Queue,可分布在多个Broker节点。
  2. Message Queue :Topic的物理分片,是RocketMQ水平扩展、负载均衡与顺序性保障的核心载体。单个Queue内的消息严格遵循FIFO先进先出原则,一个Queue只能被同Consumer Group内的一个Consumer消费,一个Consumer可消费多个Queue。
  3. Message:消息最小实体,核心属性包括:Topic、Body(消息体)、Tag(标签过滤)、Key(业务唯一标识,用于检索)、QueueId、延迟等级、事务ID、消息偏移量等。

1.3 核心存储架构

RocketMQ的高性能与高可靠,核心来自于 "顺序写+随机读"的存储设计 ,核心分为三大文件:

  1. CommitLog :消息主体存储文件,所有Topic的所有消息均按到达时间顺序追加写入,单文件默认1G,写满后生成新文件。顺序写机制最大化磁盘IO性能,是RocketMQ高吞吐的核心。
  2. ConsumeQueue:消费索引文件,Topic-Queue维度的轻量级索引,存储消息在CommitLog中的物理偏移量、消息大小、Tag哈希值。Consumer通过ConsumeQueue快速定位到目标消息,无需遍历整个CommitLog。
  3. IndexFile:消息检索索引文件,基于消息Key构建哈希索引,支持按Key快速查询消息,用于消息轨迹查询、问题排查等场景,不影响正常消费流程。

1.4 集群部署模式

部署模式 核心特点 适用场景
单Master 架构简单,无单点容错能力 本地测试、开发环境
多Master 全Master节点,无Slave,吞吐高,单节点宕机期间该节点消息不可消费 对吞吐要求高、可接受短暂不可用的场景
多Master多Slave(异步复制) Master写成功即返回,异步同步到Slave,性能高,Master宕机可从Slave消费,有极少量数据丢失风险 绝大多数生产环境,兼顾性能与可用性
多Master多Slave(同步双写) Master与Slave均写成功才返回,数据零丢失,性能略低于异步复制 金融、支付等对数据可靠性要求极高的场景
Dledger模式 基于Raft协议实现多副本共识,自动主从选举与故障切换,数据强一致 对自动化高可用要求高的核心生产场景

二、RocketMQ事务消息:两阶段提交+事务回查机制

事务消息是RocketMQ金融级能力的核心,核心设计目标是保证"生产者本地事务执行"与"消息发送"的原子性,解决分布式事务场景下的消息一致性问题,实现最终一致性。

2.1 核心前提与设计思想

  • 事务消息仅解决生产者本地事务与消息发送的原子性,不保证消费者消费的事务性(消费失败通过重试机制保障最终一致性);
  • 基于两阶段提交(2PC) 实现核心流程,通过事务回查机制实现异常场景的兜底容错,解决2PC的阻塞与数据不一致问题。

2.2 事务消息两阶段提交(2PC)完整流程

事务消息将消息发送分为两个阶段,核心是半消息(Half Message)预提交机制,半消息对业务消费者完全不可见,仅当本地事务执行成功后,才会对消费者开放。

阶段一:半消息预提交
  1. 生产者向Broker发送半消息(Half Message) ,消息的目标Topic被替换为RocketMQ系统内置Topic RMQ_SYS_TRANS_HALF_TOPIC,与业务Topic隔离,对所有业务消费者完全不可见;
  2. Broker接收半消息,完成持久化写入CommitLog后,向生产者返回ACK,确认半消息发送成功;
  3. 若半消息发送失败,生产者直接终止本地事务执行,不会出现"本地事务执行成功但消息发送失败"的不一致问题。
阶段二:二次确认(Commit/Rollback)
  1. 生产者收到半消息发送成功的ACK后,执行本地事务逻辑(如数据库增删改、跨服务调用等);
  2. 生产者根据本地事务的最终执行结果,向Broker发送二次确认指令,分为两种情况:
    • 本地事务执行成功 :发送Commit提交指令。Broker收到后,将半消息从RMQ_SYS_TRANS_HALF_TOPIC转移到业务目标Topic,生成对应的ConsumeQueue索引,此时消息对业务消费者可见,可正常消费;
    • 本地事务执行失败 :发送Rollback回滚指令。Broker收到后,将该半消息标记为回滚状态,不会投递给消费者,仅保留事务日志,实现消息与本地事务的同步回滚。

2.3 事务回查机制(兜底容错核心)

两阶段提交的核心风险是:二次确认指令(Commit/Rollback)可能因网络波动、生产者宕机、服务重启等原因丢失,导致Broker中的半消息长期处于"未知状态",无法确定提交或回滚,引发数据不一致。

事务回查机制是解决该问题的核心兜底方案,由Broker主动发起,反向确认本地事务的最终状态。

2.3.1 回查机制的触发场景

Broker定时扫描RMQ_SYS_TRANS_HALF_TOPIC中的半消息,当消息满足以下条件时,触发事务回查:

  • 半消息持久化完成后,超过事务回查超时时间(默认60秒),仍未收到生产者的二次确认指令;
  • 二次确认指令发送失败,Broker未成功接收。
2.3.2 事务回查完整执行流程
  1. Broker的事务回查线程定时扫描半消息,筛选出超时未确认的消息,生成回查请求;
  2. Broker根据半消息中的生产者信息,向该消息所属的生产者集群发送事务状态回查请求
  3. 生产者收到回查请求后,通过事务ID查询对应本地事务的最终执行结果(如查询数据库事务状态、业务日志等);
  4. 生产者根据查询结果,再次向Broker发送二次确认指令(Commit/Rollback),Broker执行对应的提交/回滚操作;
  5. 若生产者回查后仍无法确定事务状态,或回查请求超时无响应,Broker会在下次扫描时再次发起回查。
2.3.3 回查核心参数与策略
  • 事务回查间隔:默认60秒,可通过Broker配置文件调整;
  • 最大回查次数:默认15次,可自定义配置;
  • 超时兜底策略 :当回查次数达到最大上限,仍未收到明确的Commit/Rollback指令,Broker默认执行Rollback回滚操作,避免消息长期阻塞。
2.3.4 事务消息状态流转规则

RocketMQ定义了三种事务状态,控制消息的最终走向:

  1. TRANSACTION_COMMIT_TYPE:事务提交,Broker将消息投递到业务Topic;
  2. TRANSACTION_ROLLBACK_TYPE:事务回滚,Broker丢弃半消息,不投递;
  3. TRANSACTION_UNKNOWN_TYPE:事务未知,Broker等待后续二次确认,超时后触发事务回查。

2.4 适用场景与注意事项

  • 核心适用场景:分布式事务场景,如订单支付成功后同步扣减库存、用户注册成功后发放权益、金融转账的跨系统对账等;
  • 注意事项
    1. 本地事务必须实现幂等性,避免事务回查重复执行引发数据异常;
    2. 避免本地事务执行时间过长,超过回查超时时间,引发不必要的回查;
    3. 回查逻辑必须轻量、高效,快速返回事务状态,避免阻塞回查流程。

三、RocketMQ延迟消息(定时消息)核心原理

延迟消息(定时消息)是指:消息发送到Broker后,不会立即投递给消费者,而是等待指定的延迟时间到达后,才会对消费者可见并完成投递,是RocketMQ的核心特色能力。

RocketMQ的延迟消息分为两个大版本,实现逻辑完全不同,分别是4.x及之前的固定等级延迟消息5.x+的任意时间定时消息

3.1 固定等级延迟消息(4.x及之前版本)

3.1.1 核心设计:延迟等级映射

4.x版本不支持任意时间的延迟,仅支持预设的18个固定延迟等级,每个等级对应固定的延迟时间,不可自定义修改,等级与延迟时间的映射关系如下:

延迟等级 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
延迟时间 1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
3.1.2 完整执行流程
  1. 生产者发送消息时,设置消息的delayTimeLevel延迟等级(1-18),无需指定目标投递时间;
  2. Broker接收消息,完成CommitLog持久化后,不会将消息分发到业务Topic的ConsumeQueue,而是分发到系统内置延迟主题 SCHEDULE_TOPIC_XXXX 对应的ConsumeQueue中,每个延迟等级对应一个独立的Queue;
  3. Broker的调度核心ScheduleMessageService,为每个延迟等级启动一个独立的定时线程,轮询对应Queue中的消息;
  4. 线程校验消息的投递时间(消息存储时间+延迟时间),当时间到达后,将该消息从延迟主题中取出,重新写入到业务目标Topic的CommitLog中,生成对应的ConsumeQueue索引;
  5. 此时消息对消费者可见,消费者可正常拉取并消费该消息。
3.1.3 核心优缺点
  • 优点:实现简单,调度逻辑轻量,性能稳定,无时间轮精度损耗,适合绝大多数固定延迟场景;
  • 缺点:仅支持18个固定等级,无法自定义延迟时间,不支持长周期延迟(最大2小时),灵活性不足。

3.2 任意时间定时消息(5.x+版本)

5.x版本对延迟消息进行了重构,推出了定时消息(Timer Message),支持毫秒级精度的任意时间延迟,彻底打破了固定等级的限制,最大支持40天的延迟周期。

3.2.1 核心架构:TimerLog + 分层时间轮
  1. TimerLog:独立的定时消息存储文件,专门用于存储定时消息的元数据,与CommitLog隔离,避免定时消息的调度影响普通消息的写入性能;
  2. 分层时间轮:核心调度引擎,采用多级时间轮算法,将定时消息按触发时间分层管理,大幅降低定时任务的调度开销,支持海量定时消息的毫秒级调度。
3.2.2 完整执行流程
  1. 生产者发送消息时,设置消息的timerDeliverTime(毫秒级时间戳,指定消息的目标投递时间),无需设置延迟等级;
  2. Broker接收消息,完成CommitLog持久化后,将定时消息的元数据写入TimerLog,标记为"待调度"状态,此时消息对消费者不可见;
  3. 时间轮调度引擎定时扫描TimerLog,筛选出到达投递时间的消息,触发消息投递逻辑;
  4. 调度引擎将到期的定时消息重新写入业务目标Topic的CommitLog,生成ConsumeQueue索引,消息对消费者可见;
  5. 消费者正常拉取并消费该定时消息。
3.2.3 核心优化点
  • 存储隔离:定时消息的元数据与普通消息分离,避免海量定时消息影响主流程的IO性能;
  • 调度优化:分层时间轮算法将O(n)的轮询复杂度降至O(1),支持千万级定时消息的高效调度;
  • 精度提升:支持毫秒级投递精度,满足精细化定时场景需求;
  • 灵活性拉满:支持任意时间的定时,最大支持40天的长周期延迟。

3.3 适用场景

  • 固定等级延迟消息:订单超时未支付自动取消、短信延迟发送、任务延迟触发等固定周期场景;
  • 任意时间定时消息:用户指定时间的提醒推送、合同到期自动提醒、账单周期结算、预约任务触发等自定义时间场景。

四、RocketMQ顺序消息核心原理

顺序消息是指保证消息的消费顺序与发送顺序完全一致 ,RocketMQ的顺序性核心基于单个Message Queue的FIFO特性实现,分为全局顺序消息与分区顺序消息两大类。

4.1 顺序消息的核心分类

类型 核心定义 核心特点
分区顺序消息 保证同一个分片键(Sharding Key)的消息严格有序,不同分片键的消息之间无序 业界主流方案,兼顾顺序性与吞吐量,可水平扩展
全局顺序消息 保证整个Topic内的所有消息严格有序,无论分片键,发送顺序与消费顺序完全一致 顺序性最强,但吞吐量极低,可用性受限,仅适合极端场景

4.2 顺序消息的三层保障逻辑

顺序消息的实现需要发送端、存储端、消费端三层协同,任何一层的破坏都会导致消息乱序。

4.2.1 发送端顺序保证

发送端是顺序性的源头,核心目标是:将需要保证顺序的消息,严格按发送顺序写入同一个Message Queue

  1. 分片键哈希路由:生产者发送消息时,为需要保证顺序的消息设置统一的分片键(如订单号、用户ID),通过哈希取模算法,将同一个分片键的所有消息,路由到同一个Topic下的同一个Message Queue中;
  2. 同步发送+顺序写入:必须使用同步发送模式,只有前一条消息发送成功后,才能发送下一条消息,避免异步发送的网络乱序问题;
  3. 发送失败重试策略:单条消息发送失败时,不能切换到其他Queue重试,必须在原Queue持续重试,避免消息分散到多个Queue导致乱序。
4.2.2 存储端顺序保证

存储端是顺序性的核心载体,核心保障是:单个Message Queue内的消息,严格按写入顺序存储,偏移量单调递增

  1. 消息写入CommitLog时,严格按到达时间顺序追加,同一个Queue的消息,写入顺序与发送顺序完全一致;
  2. ConsumeQueue中,同一个Queue的消息索引,严格按CommitLog的写入顺序生成,消息的物理偏移量单调递增,保证FIFO顺序;
  3. Broker不会对同一个Queue内的消息进行重排序、过滤或跳过,严格保留消息的原始写入顺序。
4.2.3 消费端顺序保证

消费端是顺序性的最终落地,核心目标是:同一个Queue的消息,严格按存储顺序单线程消费,前一条消息消费完成前,不能消费下一条消息

  1. 队列分配规则:同Consumer Group内,一个Queue只能被一个Consumer实例消费,避免多个Consumer同时消费同一个Queue导致乱序;
  2. 单线程消费 :必须使用RocketMQ提供的MessageListenerOrderly顺序消费监听器,同一个Queue的消息,只会被一个消费线程串行处理,禁止使用并发消费监听器;
  3. 消费失败阻塞机制 :单条消息消费失败时,不会跳过该消息继续消费后续消息,也不会将消息直接丢入重试队列,而是持续重试该消息,直到消费成功,彻底避免乱序;
  4. 消费位点严格递增:只有前一条消息消费成功后,才会更新消费位点,若消费失败,消费位点不会向前推进,保证下次拉取仍从该消息开始。

4.3 全局顺序消息实现与限制

实现方式

全局顺序是分区顺序的极端场景,核心实现是:将Topic的Message Queue数量设置为1,且仅部署一个Master Broker节点,配合发送端同步单线程发送、消费端单线程顺序消费,实现整个Topic的全量消息严格有序。

核心限制
  1. 吞吐量极低:单Queue、单Broker、单线程消费,无法水平扩展,吞吐量仅为普通消息的几十分之一;
  2. 可用性极差:单Broker节点存在单点故障风险,Broker宕机后,整个Topic的消息生产与消费完全中断;
  3. 无容错能力:单条消息消费失败会阻塞整个Topic的消费,引发消息积压。

适用场景:仅适合对顺序性要求极高、消息量极小的场景,如数据库binlog同步、金融系统的对账流水同步。

4.4 分区顺序消息最佳实践

分区顺序消息是生产环境的主流方案,兼顾顺序性与性能,核心最佳实践如下:

  1. 分片键选择:选择粒度合适的分片键,如订单号、用户ID,保证同一个业务流程的消息使用同一个分片键,同时分片键的基数足够大,避免数据倾斜;
  2. Queue数量规划:Queue数量建议设置为Broker节点数的2-4倍,保证负载均衡,同时避免过多Queue导致调度开销增大;
  3. 发送端优化:使用同步发送模式,关闭发送失败的Broker自动切换,保证消息始终写入原Queue;
  4. 消费端优化:消费逻辑必须实现幂等性,避免重试导致重复消费;消费逻辑尽量轻量,避免单条消息消费时间过长引发阻塞;
  5. 异常处理:消费失败时,区分可重试异常与不可重试异常,不可重试异常可通过人工处理+跳过机制,避免长期阻塞消费。

4.5 异常场景与容错处理

  1. Broker宕机引发的乱序风险

    • 风险:Topic的Queue分布在多个Broker上,当其中一个Broker宕机后,路由信息发生变化,分片键哈希取模的结果改变,同一个分片键的消息会被路由到其他Broker的Queue中,导致乱序。
    • 解决方案:开启顺序消息的严格路由模式,发送端检测到路由信息变化时,抛出异常,禁止切换Queue;使用Dledger模式的Broker集群,保证Broker宕机后Queue的分布不发生变化。
  2. 消息重试的顺序性保障

    • 风险:消费失败的消息会被发送到重试Topic,重试Topic的Queue与原Topic隔离,可能导致重试消息与后续消息乱序。
    • 解决方案:RocketMQ的顺序消费监听器,会将重试消息与原Queue的消息合并,严格按原始发送顺序消费,不会出现重试消息乱序问题,无需业务层额外处理。
  3. 消费者重平衡引发的乱序风险

    • 风险:Consumer实例上下线时,会触发重平衡,Queue的分配关系发生变化,可能导致同一个Queue被两个Consumer同时消费,引发乱序。
    • 解决方案:RocketMQ顺序消费模式下,重平衡时会先暂停原Consumer的消费,等待正在处理的消息消费完成、位点提交后,才会将Queue分配给新的Consumer,彻底避免重平衡导致的乱序。

五、知识体系总结与核心设计思想

5.1 四大核心特性的设计思想与适用场景汇总

核心特性 核心设计思想 解决的核心问题 核心适用场景
事务消息 两阶段提交+回查兜底,实现本地事务与消息发送的原子性 分布式场景下的消息一致性问题 金融支付、订单履约、跨系统业务协同
延迟消息 消息隔离+定时调度,实现消息的延迟投递 业务流程的异步延迟触发,避免同步阻塞 订单超时取消、定时提醒、异步任务调度
顺序消息 单Queue FIFO+三层协同保障,实现消息发送与消费的顺序一致 业务流程的有序执行,避免乱序引发的业务异常 订单状态流转、binlog同步、流水对账
核心架构 组件解耦+顺序存储+分片扩展,实现高吞吐、高可用 海量消息的高效存储、转发与可靠投递 互联网高并发场景、金融级核心业务

5.2 知识体系闭环

RocketMQ的核心能力,完全基于底层的架构模型实现:

  1. 架构模型是基础:NameServer的路由管理、Broker的分片存储、Queue的FIFO特性,是所有上层特性的载体;
  2. 存储模型是核心:CommitLog顺序写、ConsumeQueue索引机制,保障了消息的高性能写入与可靠存储,为事务、延迟、顺序消息提供了底层支撑;
  3. 特性机制是延伸:事务消息、延迟消息、顺序消息,都是基于基础架构的扩展,通过系统Topic隔离、定时调度、状态机流转等机制,实现金融级的消息能力。

5.3 生产环境核心原则

  1. 分区顺序消息优先,非必要不使用全局顺序消息,避免吞吐量与可用性损失;
  2. 事务消息必须保证本地事务与回查逻辑的幂等性,避免重复执行引发数据异常;
  3. 延迟消息优先使用固定等级,仅当有自定义时间需求时,使用5.x的定时消息;
  4. 集群部署优先选择多Master多Slave异步复制模式,金融场景选择同步双写或Dledger模式,兼顾性能与可靠性。
相关推荐
心.c2 小时前
嵌入式 AI 助手的三层意图识别架构:如何在“快、准、稳“之间取得平衡
人工智能·ai·架构
数据知道2 小时前
claw-code 源码详细分析:命令宇宙 vs 工具宇宙——`commands` / `tools` 镜像清单如何驱动路由与 shim 执行?
linux·服务器·网络·python·ai·claude code
AI自动化工坊2 小时前
HiClaw多Agent协同实战:基于Matrix协议的透明化AI团队架构
人工智能·ai·架构·agent·matrix·hiclaw
三万棵雪松2 小时前
【Linux 物联网网关主控系统-Web部分(二)】
linux·前端·物联网
一叶之秋14122 小时前
通信之道:解锁Linux进程间通信的无限可能(一)
linux·运维·服务器
William_cl2 小时前
[特殊字符]C# ASP.NET 架构封神之路:分层 + 仓储 + EFCore,写出企业级可维护代码!
架构·c#·asp.net
Deitymoon2 小时前
linux——线程的概念
linux
三更两点2 小时前
[特殊字符] 智能代理AI架构(生产就绪系统)
人工智能·架构
郝学胜-神的一滴2 小时前
Pytorch自动微分模块:从原理到实战,解锁反向传播核心奥秘
服务器·人工智能·pytorch·python·深度学习·机器学习