refactor: remove legacy event file store

This commit is contained in:
lingniu
2026-07-01 11:04:11 +08:00
parent e80fa6f38c
commit 7ce64e9963
16 changed files with 61 additions and 1675 deletions

View File

@@ -320,7 +320,6 @@ flowchart TB
mq["sink-kafka<br/>VehicleEvent 到 Protobuf Envelope 到 Kafka"]
archive["sink-archive<br/>RawArchive 到本地/S3/OSS 冷存"]
tdengineStore["tdengine-history-store<br/>TDengine raw_frames + locations"]
fileStore["event-file-store<br/>Parquet/DuckDB 兼容可选"]
end
subgraph services["消费服务 modules/services"]
@@ -371,7 +370,6 @@ flowchart TB
analyticsApp --> stat
mq -.可选热状态.-> state
history --> tdengineStore
history -.兼容可选.-> fileStore
gateway --> session
session --> jt808
@@ -391,7 +389,7 @@ flowchart TB
class gb,jt808,jt1078,jsatl12,mqtt,mqttProfile,gbApp,jtApp,yutongApp,historyApp,analyticsApp entry;
class api,registry,dispatcher,bus,identity core;
class mq,archive,tdengineStore,fileStore sink;
class mq,archive,tdengineStore sink;
class gateway,session command;
class codec,obs support;
</pre>
@@ -591,13 +589,6 @@ flowchart LR
<td>可回放原始文件、<code>archive://...</code> 逻辑引用。</td>
<td><span class="tag amber">问题排查</span><span class="tag amber">合规留痕</span></td>
</tr>
<tr>
<td>modules/sinks/event-file-store</td>
<td>兼容文件型明细库,使用 Parquet 存储解析后的事件明细和 RawArchive 可查询索引,使用 DuckDB 按日期范围正序/倒序查询;默认生产部署不启用,仅用于旧低层记录接口或本地调查场景。</td>
<td>VehicleEvent 或 EventFileRecord。</td>
<td>protocol/date 分区的 Parquet 文件和兼容查询结果。</td>
<td><span class="tag">兼容查询</span><span class="tag amber">默认关闭</span></td>
</tr>
<tr>
<td>modules/sinks/tdengine-history-store</td>
<td>生产历史库边界,负责 TDengine schema、raw_frames/location/telemetry field 行映射、批量写入和分页查询语句raw_frames 保留完整 payloadJson.parsed位置表保持轻量字段并通过 rawUri 关联原始帧。</td>
@@ -721,7 +712,7 @@ flowchart LR
<tr>
<td>明细展示和导出</td>
<td><code>vehicle-history-app</code> + <code>tdengine-history-store</code></td>
<td>生产查询通过 TDengine raw_frames、位置表和 rawUri 关联完成;Parquet/DuckDB 仅作为兼容文件型明细库,不进入默认热路径</td>
<td>生产查询通过 TDengine raw_frames、位置表和 rawUri 关联完成;不再维护文件型事件索引旁路</td>
</tr>
</tbody>
</table>

View File

@@ -41,7 +41,7 @@ is explicitly deployed.
- Ingest apps do not write business tables.
- Ingest apps do not serve history query APIs.
- Redis is not the long-term historical store.
- `event-file-store` Parquet/DuckDB is not the default history store.
- File-based event indexes are not part of the current build surface.
- `telemetry_fields` parsing is not handled by this project when a separate
field parsing service owns that job; the `telemetry_fields` query API is
also disabled by default unless `TDENGINE_TELEMETRY_FIELDS_ENABLED=true`.
@@ -111,9 +111,8 @@ Production default:
- `EVENT_FILE_STORE_ENABLED=false`.
- `TDENGINE_TELEMETRY_FIELDS_ENABLED=false`.
`event-file-store` remains an optional compatibility path for old low-level
record APIs or local investigations. It should not be treated as the primary
history backend.
File-based event indexes have been removed; this app should keep history
queries on TDengine and raw replay on `archive://...` references.
### Analytics App
@@ -192,10 +191,7 @@ flowchart LR
through `optional-latest-state`.
- raw-archive-store is absent from the default Maven reactor and available
through `optional-raw-archive-store`.
- event-file-store is absent from the default Maven reactor and available
through `optional-event-file-store`.
- History APIs read from TDengine by default; Parquet/DuckDB is optional
compatibility only.
- History APIs read from TDengine; file-based event indexes are not maintained.
- Raw frame queries can return complete parsed JSON through `payloadJson.parsed`.
- Location queries page over compact rows and reference raw records instead of
duplicating full raw JSON.