概述Redis Streams 提供持久化事件流与消费者组协作能力。本文给出生产/消费与组管理、ACK 与重试、幂等与顺序策略,并附验证方法。生产与组管理(已验证)生产:`XADD stream * field value`;组:`XGROUP CREATE stream group $` 创建消费者组;消费:`XREADGROUP GROUP group consumer COUNT N STREAMS stream >`。PEL 与 ACKPEL(Pending Entries List):跟踪未确认消息;确认:`XACK stream group id`;重分配:超时后用 `XPENDING`/`XCLAIM` 重新分配。重试与幂等重试上限与退避;幂等:对消费结果使用业务键去重,避免重复执行。顺序策略单分区内近似顺序;对关键序列按键路由到同消费者。示例(片段)XADD orders * order_id 123 status pending XGROUP CREATE orders g1 $ XREADGROUP GROUP g1 c1 COUNT 10 STREAMS orders > XACK orders g1 1654093623-0 验证与监控指标:PEL 大小、重试次数、处理延迟与错误率;演练:消费者故障与重分配、丢失 ACK 与恢复。常见误区无 ACK 造成 PEL 积压;无幂等导致重复执行;无重分配策略导致消息长时间滞留。结语以消费者组与 PEL 管理、ACK 与重试/幂等策略为核心,Redis Streams 可在事件驱动场景实现可靠与可恢复的处理能力。

发表评论 取消回复