From cf4d3693356f624af91f3a4a12f75c29384b48cf Mon Sep 17 00:00:00 2001 From: lingniu Date: Wed, 1 Jul 2026 07:08:44 +0800 Subject: [PATCH] docs: clarify event file store compatibility role --- README.md | 4 ++-- .../com/lingniu/ingest/historyapp/MavenModuleProfileTest.java | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 89895f60..364721e6 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ lingniu-vehicle-ingest/ │ ├── sinks/ │ │ ├── sink-mq/ Kafka producer + Protobuf Envelope │ │ ├── sink-archive/ 原始报文冷存 -│ │ └── event-file-store/ Parquet + DuckDB 文件型明细库 +│ │ └── event-file-store/ 可选兼容索引(旧 Parquet/DuckDB 路径) │ ├── services/ │ │ ├── event-history-service/ Kafka 全字段事件消费 + 历史查询/导出 │ │ ├── vehicle-state-service/ Kafka 全字段事件消费 + Redis 热状态查询 @@ -94,4 +94,4 @@ mvn -pl :jt808-ingest-app -am spring-boot:run 2. **协议即插拔**:每个 `protocol-*` / `inbound-*` 都可独立开关(`lingniu.ingest..enabled`) 3. **顺序保证**:同一 VIN 严格有序(Disruptor hash + Kafka 分区 key) 4. **幂等消费**:Envelope 带 `eventId`,下游去重 -5. **原始可回放**:Dispatcher 会先发布 `RawArchive`,并把同一份 `rawArchiveKey/rawArchiveUri` 追加到业务事件 metadata;下游明细库、Kafka Envelope 和导出都使用 `archive://...` 逻辑 URI 追溯原始 bytes,实际文件由 `sink-archive`/`ArchiveStore` 管理;`event-file-store` 只额外保存 RawArchive 查询索引,不嵌入原始 bytes +5. **原始可回放**:协议接入会把 `rawArchiveKey/rawArchiveUri` 追加到事件 metadata;Kafka Envelope、TDengine `raw_frames` 和导出都使用 `archive://...` 逻辑 URI 追溯原始 bytes,实际文件由 `sink-archive` 管理;`event-file-store` 仅作为旧 Parquet/DuckDB 查询索引兼容路径,不是默认生产历史库 diff --git a/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/MavenModuleProfileTest.java b/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/MavenModuleProfileTest.java index a0d2217e..41547a9a 100644 --- a/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/MavenModuleProfileTest.java +++ b/modules/apps/vehicle-history-app/src/test/java/com/lingniu/ingest/historyapp/MavenModuleProfileTest.java @@ -63,11 +63,13 @@ class MavenModuleProfileTest { .contains("Spring Boot " + projectProperty(pom, "spring-boot.version")) .contains("Netty " + projectProperty(pom, "netty.version")) .contains("Eclipse Paho " + projectProperty(pom, "paho-mqtt.version")) + .contains("event-file-store/ 可选兼容索引(旧 Parquet/DuckDB 路径)") .contains("vehicle-history-app/ TDengine 历史查询 + RAW JSON") .contains("vehicle-analytics-app/ JT808 每日里程指标消费") .doesNotContain("Spring Boot 3.4") .doesNotContain("Netty 4.1") .doesNotContain("HiveMQ MQTT Client") + .doesNotContain("Parquet + DuckDB 文件型明细库") .doesNotContain("车辆状态/日统计消费"); }