概念定义
有些领域存在因果链:消息二依赖消息一造成的状态。护航就是每条因果链一条车道——车道内先进先出,车道间自由并行。
工作机制
路由器按关联键哈希到车道——分区、队列或进程内 actor;每条车道单线程,按键的顺序即到达顺序。失败按车道处理:原地重试并阻塞车道,或跳过进死信并记录缺口。消费者扩容是加车道,不是每车道加线程。
使用场景
账本与余额、按设备的指令序列、按会话的状态机、乱序即损坏库存语义的库存扣减——一切“重排不是麻烦而是违约”的地方。
常见误区
顺序是按分区/队列不是按主题——基于键的分区才是护航的来源;轮询式负载均衡会让同一实体的消息互相赛跑。毒消息原地无限重试会把该键的全部后续堵死——要配死信加对账。载荷里的时间戳不构成顺序:处理顺序跟随的是到达顺序。分区再平衡会把飞行中的消息重排——先排空再平衡。热键会让超大租户的全部历史挤一条车道。