消息队列与事件驱动

消息队列核心价值、Kafka 架构原理、Kafka 高吞吐机制

15 篇文档MODULE 10
146

消息队列核心价值:解耦、削峰、异步以及引入的复杂度

阅读时间 :约 45 分钟 适用读者 :高级 Java 工程师、技术专家、架构师 前置知识 :Java 并发编程、分布式系统基础、网络编程基础 目录 1. 引言:一个没有消息队列的电商系统 2. 消息队列是什么…

147

Kafka 架构原理:Broker、Topic、Partition、Replica、Controller/KRaft

阅读时间 :约 40 45 分钟 难度 :中等偏深 前置知识 :分布式系统基础概念、消息队列基本认知 一、引言:为什么 Kafka 长这样? Kafka 最初由 LinkedIn 开发,2011 年开源,如今已…

148

Kafka 高吞吐机制:顺序写、页缓存、零拷贝、批处理和压缩

阅读时间:约 45 分钟 难度:进阶 分类:消息队列与事件驱动 一、引言:Kafka 为什么这么快? 在日常开发中,我们经常听到一句话:"Kafka 单机吞吐量可以达到百万 TPS。" 这不是营销话术,而是真实…

149

Kafka 生产者可靠性:acks、重试、幂等生产、事务和顺序性

阅读时间:约 45 分钟 难度:进阶 分类:消息队列与事件驱动 一、引言:消息丢了,谁之过? 2024 年某电商大促期间,订单系统通过 Kafka 异步通知下游履约系统。大促结束后,运营团队发现约 0.03% …

150

Kafka 消费者组:分区分配、Offset、Rebalance 和静态成员

一、消费者组:为什么需要它? Kafka 的设计哲学里有一条极其重要的原则: 消费端横向扩展不靠增加单个消费者的处理能力,而是靠增加消费者数量 。但单纯增加消费者实例会带来一个致命问题——多个消费者同时消费同一…

151

Kafka 消息语义:至多一次、至少一次、恰好一次及端到端边界

阅读时间 :约 45 分钟 | 难度 :★★★★☆ | 前置知识 :Kafka 基础架构、生产者/消费者模型 1 . 问题缘起:为什么消息语义是个"问题"? 在分布式系统中, 故障是常态,不是异常 。一条消息从…

152

Kafka 消息积压治理:发现、扩容、并行度、限流和应急消费

阅读时间 :约 45 分钟 | 难度 :★★★★☆ | 前置知识 :Kafka 基础架构、消费者组模型、分区机制 1 . 问题定义:什么是消息积压,为什么它是"一号警情"? Kafka 消息积压(Consume…

153

RocketMQ 架构:NameServer、Broker、CommitLog、ConsumeQueue

阅读时间 :约 40 50 分钟 难度 :★★★★☆ 前置知识 :消息队列基础概念、Kafka 基本架构 一、为什么需要理解 RocketMQ 架构? RocketMQ 是阿里巴巴开源、现已捐献给 Apache…

160

事件驱动架构 EDA:领域事件、事件总线、事件溯源与最终一致性

一、引子:从"同步调用地狱"说起 想象一个电商下单场景:用户点击"提交订单"后,系统需要扣库存、创建订单、发短信、记录日志、更新推荐模型、触发风控审核……如果用传统的同步 RPC 调用链, OrderServi…

158

消息顺序性:全局顺序、分区顺序、路由键和并发消费取舍

阅读时间 :约 40 50 分钟 难度 :进阶 适用方向 :分布式消息系统设计、面试准备 一、问题起源:为什么消息需要有序? 1.1 一个真实的订单场景 假设你正在开发一个电商系统,订单状态流转如下: 这些状态…

159

死信队列与重试设计:退避、最大次数、毒消息隔离和人工补偿

目录 1. 引言:一条消息的"死亡"之旅 2. 基础概念:什么是死信队列 3. 重试机制设计 4. 退避策略:从固定到指数 5. 毒消息的识别与隔离 6. 人工补偿机制 7. 主流消息队列的死信实现 8. 生产…

157

消息丢失防护:生产、存储、消费三个阶段的确认与补偿

阅读时间:约 45 分钟 难度:中高级 适用岗位:Java 高级工程师、架构师、中间件工程师 一、问题定义:消息到底丢在哪里? 在分布式消息系统中,一条消息从生产者发出到消费者处理完成,要跨越网络、磁盘、内存等…

156

消息重复消费与幂等:业务唯一键、去重表、状态机和幂等令牌

一、问题定义:消息为什么会重复? 在分布式消息系统中,消息重复是一个无法回避的问题。无论你使用 Kafka、RocketMQ 还是 RabbitMQ,消息中间件本身提供的"可靠性"保证都建立在"至少一次"(at…

154

RocketMQ 顺序/延迟/事务消息:实现机制和业务使用约束

阅读时间 :约 45 分钟 难度 :进阶 前置知识 :RocketMQ 基础架构(NameServer/Broker/CommitLog/ConsumeQueue) 一、开篇:为什么需要"特殊消息" 普通消息投…

155

RabbitMQ 核心模型:Exchange、Queue、Binding、路由类型与确认机制

阅读时间 :约 45 分钟 难度 :进阶 前置知识 :消息队列基本概念、AMQP 协议基础 一、开篇:RabbitMQ 为什么值得深入理解 在消息队列的三大主流选型(RabbitMQ、RocketMQ、Kafk…