diff --git a/deploy/local/launchctl/README.md b/deploy/local/launchctl/README.md index 46efa3f6..604eea25 100644 --- a/deploy/local/launchctl/README.md +++ b/deploy/local/launchctl/README.md @@ -8,9 +8,9 @@ 三个服务必须使用同一个 `SINK_ARCHIVE_PATH`。协议接入服务负责落原始 `.bin` 文件,Kafka raw envelope 只携带 `archive://...` 引用;history 服务按同一个 archive root 读取原始帧并提供查询。 -`vehicle-history-app` 的生产高吞吐默认配置是 TDengine-only: +`vehicle-history-app` 的生产高吞吐模板是 TDengine-only: -- `EVENT_FILE_STORE_ENABLED=false`:避免 DuckDB/EventFileStore 进入实时消费热路径。 +- 不暴露 DuckDB/EventFileStore 启动变量,避免文件型明细库进入实时消费热路径。 - `TDENGINE_TELEMETRY_FIELDS_ENABLED=false`:默认只写 `raw_frames` 和协议位置表,避免逐字段写放大。 - GB32960 snapshot/fields 接口默认通过 TDengine `raw_frames` 索引找到 `rawUri`,再回读共享 archive 中的原始 `.bin` 即时解析;后续解析器新增字段后可直接查询历史 raw。 - 如果需要兼容旧 `/api/event-history/records` 低层记录接口或逐字段趋势宽表,可以显式打开对应开关;开启后要重新压测 Kafka lag 和 TDengine 写入吞吐。 @@ -23,7 +23,6 @@ export PROJECT_ROOT="$(pwd)" export JAVA_BIN="$(/usr/libexec/java_home 2>/dev/null)/bin/java" export SHARED_ARCHIVE_PATH="$PROJECT_ROOT/data/archive-live" -export EVENT_STORE_PATH="$PROJECT_ROOT/data/event-store-live" export TDENGINE_JDBC_URL='jdbc:TAOS-WS://:6041/vehicle_ts' export TDENGINE_USERNAME='root' export TDENGINE_PASSWORD='' @@ -40,7 +39,6 @@ for service in gb32960 jt808 vehicle-history; do -e "s#__PROJECT_ROOT__#$PROJECT_ROOT#g" \ -e "s#__JAVA_BIN__#$JAVA_BIN#g" \ -e "s#__SHARED_ARCHIVE_PATH__#$SHARED_ARCHIVE_PATH#g" \ - -e "s#__EVENT_STORE_PATH__#$EVENT_STORE_PATH#g" \ -e "s#__TDENGINE_JDBC_URL__#$TDENGINE_JDBC_URL#g" \ -e "s#__TDENGINE_USERNAME__#$TDENGINE_USERNAME#g" \ -e "s#__TDENGINE_PASSWORD__#$TDENGINE_PASSWORD#g" \ diff --git a/deploy/local/launchctl/com.lingniu.vehicle-history.plist.template b/deploy/local/launchctl/com.lingniu.vehicle-history.plist.template index 135e76ab..124f6166 100644 --- a/deploy/local/launchctl/com.lingniu.vehicle-history.plist.template +++ b/deploy/local/launchctl/com.lingniu.vehicle-history.plist.template @@ -38,12 +38,6 @@ vehicle.event.jt808.v1 KAFKA_TOPIC_JT808_RAW vehicle.raw.jt808.v1 - EVENT_FILE_STORE_ENABLED - false - EVENT_FILE_STORE_PATH - __EVENT_STORE_PATH__ - EVENT_FILE_STORE_ZONE_ID - Asia/Shanghai SINK_ARCHIVE_PATH __SHARED_ARCHIVE_PATH__ TDENGINE_HISTORY_ENABLED diff --git a/deploy/portainer/docker-compose.yml b/deploy/portainer/docker-compose.yml index aca3cbd9..f4afde25 100644 --- a/deploy/portainer/docker-compose.yml +++ b/deploy/portainer/docker-compose.yml @@ -130,12 +130,6 @@ services: KAFKA_GROUP_HISTORY_MQTT_YUTONG: ${KAFKA_GROUP_HISTORY_MQTT_YUTONG:-vehicle-history} SINK_ARCHIVE_ENABLED: ${SINK_ARCHIVE_ENABLED:-true} SINK_ARCHIVE_PATH: /archive/ - EVENT_FILE_STORE_ENABLED: ${EVENT_FILE_STORE_ENABLED:-false} - EVENT_FILE_STORE_PATH: /event-store/ - EVENT_FILE_STORE_ZONE_ID: ${EVENT_FILE_STORE_ZONE_ID:-Asia/Shanghai} - EVENT_FILE_STORE_BATCH_SIZE: ${EVENT_FILE_STORE_BATCH_SIZE:-500} - EVENT_FILE_STORE_FLUSH_INTERVAL_MILLIS: ${EVENT_FILE_STORE_FLUSH_INTERVAL_MILLIS:-1000} - EVENT_FILE_STORE_WRITE_PARQUET_ENABLED: ${EVENT_FILE_STORE_WRITE_PARQUET_ENABLED:-false} TDENGINE_ENABLED: ${TDENGINE_ENABLED:-true} TDENGINE_JDBC_URL: ${TDENGINE_JDBC_URL:-jdbc:TAOS-WS://172.17.111.57:6041/vehicle_ts} TDENGINE_DATABASE: ${TDENGINE_DATABASE:-vehicle_ts} @@ -149,7 +143,6 @@ services: - "${VEHICLE_HISTORY_HTTP_PORT:-20200}:20200" volumes: - vehicle-history-archive:/archive - - vehicle-history-event-store:/event-store networks: - vehicle-ingest @@ -168,7 +161,6 @@ services: KAFKA_GROUP_STAT: ${KAFKA_GROUP_STAT:-vehicle-stat} VEHICLE_STATE_ENABLED: ${VEHICLE_STATE_ENABLED:-false} VEHICLE_STAT_ENABLED: ${VEHICLE_STAT_ENABLED:-true} - VEHICLE_STAT_FILE_PATH: /vehicle-stat/ VEHICLE_STAT_ZONE_ID: ${VEHICLE_STAT_ZONE_ID:-Asia/Shanghai} VEHICLE_STAT_JT808_MILEAGE_ENABLED: ${VEHICLE_STAT_JT808_MILEAGE_ENABLED:-true} VEHICLE_STAT_JT808_STATE_STORE: ${VEHICLE_STAT_JT808_STATE_STORE:-redis} @@ -183,8 +175,6 @@ services: REDIS_PASSWORD: ${REDIS_PASSWORD:-} ports: - "${VEHICLE_ANALYTICS_HTTP_PORT:-20300}:20300" - volumes: - - vehicle-analytics-stat:/vehicle-stat networks: - vehicle-ingest @@ -196,5 +186,3 @@ volumes: gb32960-ingest-data: jt808-ingest-data: vehicle-history-archive: - vehicle-history-event-store: - vehicle-analytics-stat: diff --git a/modules/services/vehicle-stat-service/src/test/java/com/lingniu/ingest/vehiclestat/config/VehicleStatAutoConfigurationTest.java b/modules/services/vehicle-stat-service/src/test/java/com/lingniu/ingest/vehiclestat/config/VehicleStatAutoConfigurationTest.java index 8b545a25..e7473287 100644 --- a/modules/services/vehicle-stat-service/src/test/java/com/lingniu/ingest/vehiclestat/config/VehicleStatAutoConfigurationTest.java +++ b/modules/services/vehicle-stat-service/src/test/java/com/lingniu/ingest/vehiclestat/config/VehicleStatAutoConfigurationTest.java @@ -136,22 +136,4 @@ class VehicleStatAutoConfigurationTest { }); } - @Test - void ignoresFileRepositoryTypeAndKeepsJdbcMetricRepository() { - new ApplicationContextRunner() - .withConfiguration(AutoConfigurations.of( - JdbcTemplateAutoConfiguration.class, - VehicleStatAutoConfiguration.class)) - .withBean(DataSource.class, () -> new DriverManagerDataSource( - "jdbc:h2:mem:vehicle_stat_file_mode;MODE=MySQL;DATABASE_TO_LOWER=TRUE;DB_CLOSE_DELAY=-1", - "sa", - "")) - .withPropertyValues( - "lingniu.ingest.vehicle-stat.enabled=true", - "lingniu.ingest.vehicle-stat.repository-type=file") - .run(context -> { - assertThat(context).hasSingleBean(VehicleStatRepository.class); - assertThat(context).hasSingleBean(JdbcVehicleStatMetricRepository.class); - }); - } }