docs(changelog): record raw archive event sink integration
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
16
CHANGELOG.md
16
CHANGELOG.md
@@ -12,6 +12,22 @@
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added —— 原始报文冷存(Raw Archive)接入 EventSink 扇出
|
||||
- 新增 `VehicleEvent.RawArchive` sealed 变体(`ingest-api`),携带一帧入站的原始字节 +
|
||||
`command` / `infoType` 供按协议命令分片归档。
|
||||
- `Dispatcher.dispatch` 在 interceptor **之前**按 `RawFrame.rawBytes()` 产出一条
|
||||
`RawArchive` 事件,保证 dedup / rate-limit **不过滤** raw archive,满足"每帧必留痕"目标。
|
||||
- 新增 `ArchiveEventSink implements EventSink`(`sink-archive`):
|
||||
- `accepts` 仅 `VehicleEvent.RawArchive`
|
||||
- 写入 key `yyyy/MM/dd/<source>/<vin>/<eventId>.bin`(UTC 日期分片)
|
||||
- 同 eventId 重复写按 put 语义覆盖
|
||||
- 失败 completeExceptionally,EventBus 打 WARN
|
||||
- AutoConfig 在 `ArchiveStore` bean 存在时自动装配
|
||||
- `KafkaEventSink.accepts(RawArchive)` 返回 `false`:本期 Kafka 不投递原始字节,
|
||||
只落 ArchiveStore。未来需要 Kafka 回填 URI 时再开(`TopicRouter` / `EnvelopeMapper`
|
||||
已补好 switch 分支)。
|
||||
- 覆盖测试 `ArchiveEventSinkTest` —— accepts 过滤 / 稳定 key 写入 / 幂等覆盖 3 case。
|
||||
|
||||
### Changed —— GB/T 32960 Body Parser 单块异常隔离
|
||||
- `Gb32960BodyParser` 主循环对单信息块的 parser 异常不再放弃整帧:
|
||||
- 固定长度块(`fixedLength ≥ 0`):回滚 reader → 按 `fixedLen` 截取字节兜成
|
||||
|
||||
Reference in New Issue
Block a user