面试聊到消息队列,大多数候选人的答案在”削峰、解耦、异步”六个字上就停了。再往深追问就见真章:”一条事件要被十几个服务各自消费,你的事件模型怎么设计?””消费者怎么知道自己该处理哪条消息?””消息丢了怎么办——哪些消息允许丢,想过吗?“最后一问最狠,因为它考的不是组件用法,是对自家业务流量分级的真实理解。
本篇拆这套 MES 的自建事件总线——全景篇机制点清单里”MQ 事件总线”的兑现。它不是引一个 MQ 中间件那么简单:整套总线收在一个所有服务共享的 jar 里(事件模型、队列声明、消费分发、通知落库、多渠道推送),业务服务写一个空配置类继承基类就完成接入。本篇讲它的三个设计核心——位编码事件号、自注册 Handler 容器、广播式预警解除——以及同等重要的部分:一份诚实的可靠性欠账清单。