feat(delivery): 真实 Kafka 投递端口 + 闭合 G-BACKFILL-BACKOFF 配置缺口

- 新增 KafkaDeliveryPort:ProducerRegistry + 同步 Future.get() 至少一次投递,
  闭合 OPS-1 真实适配器要求与 US-07 INV-10/C-29
- 回填退避从硬编码 30s/15min 提升为 backfill-backoff-ms / backfill-backoff-cap-ms
  配置绑定,闭合 [G-BACKFILL-BACKOFF]
- 删除死依赖 micronaut-redis-lettuce(代码零引用,ACM2-28 Redis 已退出阶段 A)
This commit is contained in:
windyboy
2026-09-13 16:26:03 +08:00
parent 5bb9d6bb07
commit 62f61ad9e4
9 changed files with 67 additions and 16 deletions
@@ -221,10 +221,11 @@ class BackfillServiceTest {
@Test
fun `backoff delay doubles per attempt and caps at fifteen minutes`() {
assertEquals(Duration.ofSeconds(30), BackfillService.backoffDelayFor(1))
assertEquals(Duration.ofMinutes(2), BackfillService.backoffDelayFor(3))
assertEquals(Duration.ofMinutes(15), BackfillService.backoffDelayFor(10))
assertEquals(Duration.ofMinutes(15), BackfillService.backoffDelayFor(50))
val svc = BackfillService(StubProcState(), StubInbox(), MailboxProps(), props, Clock.fixed(t0, ZoneOffset.UTC), MessageLifecycleGate())
assertEquals(Duration.ofSeconds(30), svc.backoffDelayFor(1))
assertEquals(Duration.ofMinutes(2), svc.backoffDelayFor(3))
assertEquals(Duration.ofMinutes(15), svc.backoffDelayFor(10))
assertEquals(Duration.ofMinutes(15), svc.backoffDelayFor(50))
}
@Test