From 5971d1a8c358caee0d5fb0b4a0b225781664d31c Mon Sep 17 00:00:00 2001 From: lingniu Date: Wed, 1 Jul 2026 15:48:15 +0800 Subject: [PATCH] chore: document local archive storage only --- README.md | 2 +- docs/module-data-flow.html | 6 ++--- .../historyapp/MavenModuleProfileTest.java | 22 +++++++++++++++++++ modules/sinks/sink-archive/pom.xml | 2 +- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 3ab20276..710a4ff6 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ | 会话索引 | Redis | | 熔断/限流 | Resilience4j 2 | | 可观测 | Micrometer + Prometheus | -| 冷存 | S3 / OSS / 本地 | +| 冷存 | 本地文件系统 | | 构建 | Maven | ## 模块划分 diff --git a/docs/module-data-flow.html b/docs/module-data-flow.html index 89d7ba19..3220eba3 100644 --- a/docs/module-data-flow.html +++ b/docs/module-data-flow.html @@ -318,7 +318,7 @@ flowchart TB subgraph sink["输出与明细存储 modules/sinks"] kafka["sink-kafka
VehicleEvent 到 Protobuf Envelope 到 Kafka"] - archive["sink-archive
RawArchive 到本地/S3/OSS 冷存"] + archive["sink-archive
RawArchive 到本地文件系统冷存"] tdengineStore["tdengine-history-store
TDengine raw_frames + locations"] end @@ -444,7 +444,7 @@ sequenceDiagram
原始追溯: - Dispatcher 为所有带 rawBytes 的 RawFrame 生成统一的 rawArchiveKey,业务事件 metadata 使用 rawArchiveUri=archive://... 指向同一份原始 bytes。归档文件的真实本地/S3/OSS 地址只属于 ArchiveStore,查询、导出和 Kafka Envelope 使用逻辑 URI 解耦存储实现。 + Dispatcher 为所有带 rawBytes 的 RawFrame 生成统一的 rawArchiveKey,业务事件 metadata 使用 rawArchiveUri=archive://... 指向同一份原始 bytes。归档文件的真实本地路径只属于 ArchiveStore,查询、导出和 Kafka Envelope 使用逻辑 URI 解耦存储实现。
@@ -584,7 +584,7 @@ flowchart LR modules/sinks/sink-archive - 原始报文冷存,当前有本地文件系统实现,后续可替换 S3/OSS;写入键与业务事件 metadata 中的 rawArchiveKey 保持一致。 + 原始报文冷存,当前为本地文件系统实现;写入键与业务事件 metadata 中的 rawArchiveKey 保持一致。 RawArchive 事件、附件流。 可回放原始文件、archive://... 逻辑引用。 问题排查合规留痕 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 93a2d3d7..6596d66e 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 @@ -191,6 +191,7 @@ class MavenModuleProfileTest { .contains("Eclipse Paho " + projectProperty(pom, "paho-mqtt.version")) .contains("session-core/ 设备会话 + 鉴权 + Token + Redis SessionStore") .contains("| 事件流 | **Kafka**(唯一生产消息通道,vin 分区,保证单车有序) |") + .contains("| 冷存 | 本地文件系统 |") .contains("| 构建 | Maven |") .contains("protocol-jt1078/ JT/T 1078(optional-command-gateway profile") .contains("protocol-jsatl12/ 苏标主动安全报警附件(optional-attachments profile)") @@ -210,6 +211,7 @@ class MavenModuleProfileTest { .doesNotContain("其他 MQ 后端") .doesNotContain("Spotless") .doesNotContain("ArchUnit") + .doesNotContain("S3 / OSS / 本地") .doesNotContain("mvn clean install -DskipTests") .doesNotContain("-DskipTests") .doesNotContain("Caffeine 内存降级") @@ -224,6 +226,26 @@ class MavenModuleProfileTest { .doesNotContain("| 消息队列 |"); } + @Test + void archiveBuildSurfaceDocumentsLocalFilesystemOnly() throws Exception { + String archivePom = Files.readString(repositoryRoot().resolve("modules/sinks/sink-archive/pom.xml")); + String moduleDataFlow = Files.readString(repositoryRoot().resolve("docs/module-data-flow.html")); + + assertThat(archivePom) + .contains("原始报文冷存:本地文件系统实现。") + .doesNotContain("S3/OSS") + .doesNotContain("MinIO") + .doesNotContain("software.amazon.awssdk") + .doesNotContain("com.aliyun.oss"); + assertThat(moduleDataFlow) + .contains("sink-archive
RawArchive 到本地文件系统冷存") + .contains("归档文件的真实本地路径只属于 ArchiveStore") + .contains("原始报文冷存,当前为本地文件系统实现") + .doesNotContain("本地/S3/OSS") + .doesNotContain("S3/OSS") + .doesNotContain("MinIO"); + } + @Test void yutongMqttBuildSurfaceUsesOnlyPahoClient() throws Exception { Document pom = rootPom(); diff --git a/modules/sinks/sink-archive/pom.xml b/modules/sinks/sink-archive/pom.xml index aafc63af..08d269e7 100644 --- a/modules/sinks/sink-archive/pom.xml +++ b/modules/sinks/sink-archive/pom.xml @@ -9,7 +9,7 @@ sink-archive sink-archive - 原始报文冷存:本地文件系统实现 + S3/OSS 扩展点。 + 原始报文冷存:本地文件系统实现。