📚

247

一杯咖啡的时间,聊聊技术与成长

连载中 10/20

事务消息:本地事务与发消息的原子性

先写库还是先发消息,是分布式系统的经典两难。RocketMQ 用半消息机制给出第三种答案:先发一条看不见的消息,事务落库后再放行,Broker 还会主动回查你的业务状态。

#消息队列#事务消息#半消息#消息回查#RocketMQ
2026-08-03 · 2180 阅读 · 0 评论 · 0 赞
连载中 9/20

延迟消息:订单超时关闭的优雅实现

30 分钟未支付自动关单,从每分钟全表扫描到一条延迟消息搞定:轮询扫表的痛、时间轮的局限、RocketMQ 18 个级别背后的存储设计,以及关单与支付的竞态处理。

#消息队列#延迟消息#订单超时#定时扫表#竞态
2026-08-03 · 1718 阅读 · 0 评论 · 0 赞
连载中 8/20

消息顺序:全局有序与分区内有序

并行是乱序之源:多队列、消费重试、Rebalance 都能打乱次序。好消息是 99% 的业务只需要「同一个订单内有序」——按 key 路由加分区内串行,加上状态机兜底,顺序问题就这么治。

#消息队列#顺序消息#分区内有序#队头阻塞#状态机
2026-08-02 · 2832 阅读 · 0 评论 · 0 赞
连载中 7/20

消息不重复:至少一次投递与消费幂等

积分翻倍不是事故,是机制。「恰好一次」是营销话术,重复投递是 MQ 的出厂设置。唯一键、去重表、状态机,幂等三板斧把重复消费的伤害降到零。

#消息队列#幂等#重复消费#去重表#状态机
2026-08-01 · 740 阅读 · 0 评论 · 0 赞
连载中 6/20

消息不丢(下):Broker 刷盘与消费 ACK

消息进了 Broker 只是中场休息:同步刷盘防断电,同步复制防宕机。消费端更险——先提交还是先干活,选错一边就是丢或重。一篇配齐 Broker 与消费端的防线。

#消息队列#消息不丢#刷盘#同步复制#消费ACK
2026-07-31 · 1926 阅读 · 0 评论 · 0 赞
连载中 5/20

消息不丢(上):生产端确认与重试

消息丢了,先查生产端:oneway 一把梭、异步回调吞异常、进程崩溃消息还在内存——三种死法逐一排查。同步确认、发送重试、本地消息表,三层防线层层加固。

#消息队列#消息不丢#生产端#本地消息表#发送重试
2026-07-31 · 2961 阅读 · 0 评论 · 0 赞
连载中 4/20

核心模型:消息怎么从生产者走到消费者

Topic 是逻辑分类,Queue 是物理分片,消费者组是并行与广播的开关,拉模式加长轮询是延迟与压垮之间的折中。这一篇把一条消息的完整旅程拆给你看。

#消息队列#MQ#Topic#消费者组#推拉模式
2026-07-30 · 2473 阅读 · 0 评论 · 0 赞
连载中 3/20

主流 MQ 选型:RocketMQ、Kafka、RabbitMQ 怎么挑

三台 MQ 三种性格:RabbitMQ 灵活轻盈、Kafka 吞吐猛兽、RocketMQ 电商全能。一张对比表加上一条按场景走的决策路径,帮老王把选型纠结一次算清。

#消息队列#MQ选型#RocketMQ#Kafka#RabbitMQ
2026-07-30 · 786 阅读 · 0 评论 · 0 赞
连载中 2/20

引入 MQ 的代价:天下没有免费的午餐

积分翻倍事故只是开始。丢、重、乱序、排查难、运维重,五个代价逐一摆上桌;再给一份「上 MQ 前的四问」决策清单,帮你判断这顿午餐到底该不该吃。

#消息队列#MQ#一致性#幂等#架构权衡
2026-07-29 · 3841 阅读 · 0 评论 · 0 赞