时间:2025-12-04 15:07
人气:
作者:admin
| 店类型 | 对应 MQ | 主打能力(一句话) | 像生活里的啥? |
| 快递分拣站 | Kafka | 只拼 “快” 和 “多”,不管复杂服务 | 双 11 快递仓:一天分 10 万件,不帮改地址 |
| 社区便利店 | RocketMQ | 啥都管 “全”,服务灵活 | 楼下小超市:能留货、能退差、能帮存东西 |
| 要干的事 | 快递分拣站(Kafka)怎么干? | 社区便利店(RocketMQ)怎么干? |
| 1. 分货(数据分片) | 划 10 条 “固定通道”(Partition),北京走 1 号、上海走 2 号,货只往后堆,不改方向 | 摆多个 “货架”(Queue),牛奶放 A 架、面包放 B 架,能随时调整货架位置 |
| 2. 保证货不丢(高可用) | 每条通道配 2 个分拣员(ISR):A 分货、B 盯着同步,A 请假了 B 顶上 | 雇 3 个前台(NameServer):顾客问货在哪,前台随时指,一个请假还有俩 |
| 3. 处理特殊需求 | 不接!改地址、先验货都不行(牺牲灵活换速度) | 全接!- 留货:先贴 “预定标签”(事务消息),付钱再拿- 存东西:按 “整点格子” 存(延时队列),到点提醒- 退货:坏零食放 “暂存架”(DLQ),不扔回货架 |
| 4. 人多了咋分工(并行) | 加分拣员就重新分通道(Rebalance),分的时候暂停一会儿 | 加店员就重新分货架(Queue 分配),不暂停,能边卖边调 |
| 你的需求 | 选哪家? | 理由(一句话) |
| 1. 发 10 万条日志 / 埋点数据 | 分拣站(Kafka) | 快!一天能扛 100 万条,晚几分钟没关系 |
| 2. 订蛋糕:先留货、下班付钱 | 便利店(RocketMQ) | 能 “贴预定标签”(事务消息),不怕被别人买走 |
| 3. 订单超时:30 分钟后取消 | 便利店(RocketMQ) | 能放 “30 分钟后取” 格子(延时队列),不用盯着表 |
| 4. 发简单通知(如日志提醒) | 随便选 | 无复杂需求,看你熟悉哪家 |
| 店类型 | 对应 MQ | 最容易踩的坑(一句话) | 怎么躲坑? |
| 快递分拣站 | Kafka | 中途加通道(Partition)会暂停分货 | 提前规划好通道数,别临时加 |
| 快递分拣站 | Kafka | 分拣员全请假(ISR 只剩 1 个)会丢货 | 保证至少 2 个分拣员在岗(监控 ISR) |
| 社区便利店 | RocketMQ | 前台只雇 1 个(NameServer 单点)会没人指路 | 至少雇 3 个前台(部署 3 个 NameServer) |
| 社区便利店 | RocketMQ | 存东西不能改时间(延时消息改不了) | 存之前确认好时间,改时间就重新存 |
上一篇:剑指offer-46、孩⼦们的游戏(圆圈中最后剩下的数
下一篇:数据结构——树