docs: redis-stream tag 消费端过滤落地,README/CLAUDE.md 能力表述同步
翻转点清单移除 tag 一条;能力表新增 tag 行两端标齐; 信封表/属性表/FAQ 同步为"消费端模拟过滤"语义。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -32,12 +32,12 @@ mvn -pl mq-starter-core test -Dtest=MqConsumeDispatcherTest#someMethod # 单个
|
||||
```
|
||||
mq-starter-core 门面 + 注解扫描 + 消费链 + SPI 契约(中立,不依赖 Spring/Redis 的核心编排逻辑,可纯单测)
|
||||
mq-starter-idempotent-redis 消费去重的 Redis 存储(driver 中立,不按 mq.type 门控;任何 driver 有 Redis 就能用)
|
||||
mq-starter-redis-stream Redis Stream driver(去重/批量/落库/reclaim 重试全接入;去重 store 依赖 idempotent-redis 模块)
|
||||
mq-starter-redis-stream Redis Stream driver(去重/批量/落库/reclaim 重试/tag 消费端过滤全接入;去重 store 依赖 idempotent-redis 模块)
|
||||
mq-starter-rocketmq RocketMQ driver(收发 + 原生重试/死信 + RETRY_EXHAUSTED 落库 + 去重信号处理;去重 store 经聚合坐标间接获得)
|
||||
mq-spring-boot-starter 聚合 jar,业务方只引这一个(恒含 idempotent-redis)
|
||||
```
|
||||
|
||||
> ⚠️ **两个 driver 仍有差异**(README 有对照表):去重、失败落库两端已对齐(2026-07 起 rocketmq `idempotent=true` 生效,需 Redis 可达);剩余差距是死信模型(redis 只落库 / rocketmq 原生 `%DLQ%`)与批量**整批失败**的处理(逐条 ACK 后无法精确重投整批,故落库+吞掉);真正两端都未兑现的只有 `concurrency`。批量攒批本身(含 idle flush 超时/停机强刷,2026-07 已落地)两端已对齐。改跨 driver 行为前先对照 README 能力表。
|
||||
> ⚠️ **两个 driver 仍有差异**(README 有对照表):去重、失败落库、tag 过滤三者两端已对齐(2026-07 起 rocketmq `idempotent=true` 生效、需 Redis 可达;tag:rocketmq broker 原生 / redis-stream 消费端模拟,语义子集见 core 的 `MqTagMatcher`,dispatch 顶部与 reclaim 耗尽分支前两处调用);剩余差距是死信模型(redis 只落库 / rocketmq 原生 `%DLQ%`)与批量**整批失败**的处理(逐条 ACK 后无法精确重投整批,故落库+吞掉);真正两端都未兑现的只有 `concurrency`。批量攒批本身(含 idle flush 超时/停机强刷,2026-07 已落地)两端已对齐。改跨 driver 行为前先对照 README 能力表。
|
||||
>
|
||||
> **单独只引 `mq-starter-rocketmq`(不走聚合坐标)时去重需自行加 `mq-starter-idempotent-redis` 依赖**——rocketmq 模块本身不依赖它(刻意零耦合)。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user