feat: add durable business inbox example and consumer crash recovery
This commit is contained in:
@@ -114,7 +114,7 @@
|
||||
- 步骤:创建 → 同键核对 → 暂停 → 恢复 → 查询与分页 → 最终暂停。
|
||||
- 预期:duplicate=true、resumed_revision=3、final_enabled=false、revision=4、pending=0。
|
||||
- 保留:每次运行留下一个已暂停订阅及审计;没有硬删除,受64个订阅上限约束。
|
||||
- 范围:本例只演示管理SDK;自动消费 SDK 已实现,持久化Inbox例子继续开发。
|
||||
- 范围:本例只演示管理SDK;自动消费 SDK 已实现,[持久化Inbox例子](result-inbox.md) 已独立交付。
|
||||
|
||||
## 已可运行:结果消费协议与跨连接确认
|
||||
|
||||
@@ -122,3 +122,11 @@
|
||||
- 操作:创建订阅 → 提交并取消任务 → 接收冻结结果 → ACK → 重连重报原证明 → 核对原确认时间 → 暂停订阅。
|
||||
- 输出:ack_replayed=true、same_receipt=true、pending=0、subscription_enabled=false。
|
||||
- 范围:本例只做读取验证,不写业务数据;[自动消费器](../sdk/event-consumer.md) 的生产接入须提供事务Inbox,不能把示例当作业务恰好一次保证。
|
||||
|
||||
## 已可运行:独立业务 MySQL Inbox
|
||||
|
||||
- 独立项目:[result-inbox](../../examples/result-inbox/README.md),[完整前置、命令及故障说明](result-inbox.md)。
|
||||
- 操作:接收冻结结果 → Inbox与业务视图同事务提交 → 重复核对 → ACK → 暂停本次演示订阅。
|
||||
- 输出:inbox_duplicate=true、applied_events=1、ack_confirmed=1、pending=0。
|
||||
- 覆盖:并发重复、旧版本保护、回滚、真实MySQL COMMIT响应丢失、业务提交后/ACK前消费者SIGKILL及新进程去重。
|
||||
- 边界:只覆盖接收方本地SQL效果;核心SDK不依赖数据库,外部副作用需要接收方自己的幂等/Outbox设计。
|
||||
|
||||
Reference in New Issue
Block a user