Apache RocketMQ是阿里开源、Apache 顶级的分布式消息队列/消息中间件,主打高吞吐、低延迟、金融级可靠、事务消息、顺序消息,是国内微服务、电商、金融最常用的 MQ。下面从架构、核心概念、消息模型、高级特性、生产配置、常见问题完整整理。一、核心架构(4大组件)1. NameServer(路由中心)轻量级无状态,集群部署、节点互不通信职责:Broker注册/发现、Topic路由管理、心跳检测作用:Producer/Consumer 从 NameServer 拿 Broker 地址,解耦客户端与存储层2. Broker(存储核心)主从架构(Master-Slave),支持同步/异步复制、Dledger自动选主存储模型:CommitLog:所有消息顺序写,保证高吞吐ConsumeQueue:Topic队列索引(20字节/条),加速消费IndexFile:消息索引(按Key/Offset查询)刷盘策略:同步刷盘:落盘才返回成功(最可靠)异步刷盘:先写PageCache,性能更高3. Producer(生产者)发送模式:同步发送:等待Broker Ack(可靠)异步发送:回调通知(高吞吐)单向(Oneway):不等待响应(日志/大数据)负载均衡:轮询选Broker/队列、故障自动规避4. Consumer(消费者)消费模式:集群消费(默认):同组内负载均衡,一条消息只被一个Consumer消费广播消费:同组内每个Consumer都收到全量消息消费方式:Push:Broker主动推送(实时)Pull:客户端主动拉取(可控、适合批量)