refactor: trim disabled file storage deployment
This commit is contained in:
@@ -8,9 +8,9 @@
|
|||||||
|
|
||||||
三个服务必须使用同一个 `SINK_ARCHIVE_PATH`。协议接入服务负责落原始 `.bin` 文件,Kafka raw envelope 只携带 `archive://...` 引用;history 服务按同一个 archive root 读取原始帧并提供查询。
|
三个服务必须使用同一个 `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` 和协议位置表,避免逐字段写放大。
|
- `TDENGINE_TELEMETRY_FIELDS_ENABLED=false`:默认只写 `raw_frames` 和协议位置表,避免逐字段写放大。
|
||||||
- GB32960 snapshot/fields 接口默认通过 TDengine `raw_frames` 索引找到 `rawUri`,再回读共享 archive 中的原始 `.bin` 即时解析;后续解析器新增字段后可直接查询历史 raw。
|
- GB32960 snapshot/fields 接口默认通过 TDengine `raw_frames` 索引找到 `rawUri`,再回读共享 archive 中的原始 `.bin` 即时解析;后续解析器新增字段后可直接查询历史 raw。
|
||||||
- 如果需要兼容旧 `/api/event-history/records` 低层记录接口或逐字段趋势宽表,可以显式打开对应开关;开启后要重新压测 Kafka lag 和 TDengine 写入吞吐。
|
- 如果需要兼容旧 `/api/event-history/records` 低层记录接口或逐字段趋势宽表,可以显式打开对应开关;开启后要重新压测 Kafka lag 和 TDengine 写入吞吐。
|
||||||
@@ -23,7 +23,6 @@
|
|||||||
export PROJECT_ROOT="$(pwd)"
|
export PROJECT_ROOT="$(pwd)"
|
||||||
export JAVA_BIN="$(/usr/libexec/java_home 2>/dev/null)/bin/java"
|
export JAVA_BIN="$(/usr/libexec/java_home 2>/dev/null)/bin/java"
|
||||||
export SHARED_ARCHIVE_PATH="$PROJECT_ROOT/data/archive-live"
|
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://<tdengine-host>:6041/vehicle_ts'
|
export TDENGINE_JDBC_URL='jdbc:TAOS-WS://<tdengine-host>:6041/vehicle_ts'
|
||||||
export TDENGINE_USERNAME='root'
|
export TDENGINE_USERNAME='root'
|
||||||
export TDENGINE_PASSWORD='<tdengine-password>'
|
export TDENGINE_PASSWORD='<tdengine-password>'
|
||||||
@@ -40,7 +39,6 @@ for service in gb32960 jt808 vehicle-history; do
|
|||||||
-e "s#__PROJECT_ROOT__#$PROJECT_ROOT#g" \
|
-e "s#__PROJECT_ROOT__#$PROJECT_ROOT#g" \
|
||||||
-e "s#__JAVA_BIN__#$JAVA_BIN#g" \
|
-e "s#__JAVA_BIN__#$JAVA_BIN#g" \
|
||||||
-e "s#__SHARED_ARCHIVE_PATH__#$SHARED_ARCHIVE_PATH#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_JDBC_URL__#$TDENGINE_JDBC_URL#g" \
|
||||||
-e "s#__TDENGINE_USERNAME__#$TDENGINE_USERNAME#g" \
|
-e "s#__TDENGINE_USERNAME__#$TDENGINE_USERNAME#g" \
|
||||||
-e "s#__TDENGINE_PASSWORD__#$TDENGINE_PASSWORD#g" \
|
-e "s#__TDENGINE_PASSWORD__#$TDENGINE_PASSWORD#g" \
|
||||||
|
|||||||
@@ -38,12 +38,6 @@
|
|||||||
<string>vehicle.event.jt808.v1</string>
|
<string>vehicle.event.jt808.v1</string>
|
||||||
<key>KAFKA_TOPIC_JT808_RAW</key>
|
<key>KAFKA_TOPIC_JT808_RAW</key>
|
||||||
<string>vehicle.raw.jt808.v1</string>
|
<string>vehicle.raw.jt808.v1</string>
|
||||||
<key>EVENT_FILE_STORE_ENABLED</key>
|
|
||||||
<string>false</string>
|
|
||||||
<key>EVENT_FILE_STORE_PATH</key>
|
|
||||||
<string>__EVENT_STORE_PATH__</string>
|
|
||||||
<key>EVENT_FILE_STORE_ZONE_ID</key>
|
|
||||||
<string>Asia/Shanghai</string>
|
|
||||||
<key>SINK_ARCHIVE_PATH</key>
|
<key>SINK_ARCHIVE_PATH</key>
|
||||||
<string>__SHARED_ARCHIVE_PATH__</string>
|
<string>__SHARED_ARCHIVE_PATH__</string>
|
||||||
<key>TDENGINE_HISTORY_ENABLED</key>
|
<key>TDENGINE_HISTORY_ENABLED</key>
|
||||||
|
|||||||
@@ -130,12 +130,6 @@ services:
|
|||||||
KAFKA_GROUP_HISTORY_MQTT_YUTONG: ${KAFKA_GROUP_HISTORY_MQTT_YUTONG:-vehicle-history}
|
KAFKA_GROUP_HISTORY_MQTT_YUTONG: ${KAFKA_GROUP_HISTORY_MQTT_YUTONG:-vehicle-history}
|
||||||
SINK_ARCHIVE_ENABLED: ${SINK_ARCHIVE_ENABLED:-true}
|
SINK_ARCHIVE_ENABLED: ${SINK_ARCHIVE_ENABLED:-true}
|
||||||
SINK_ARCHIVE_PATH: /archive/
|
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_ENABLED: ${TDENGINE_ENABLED:-true}
|
||||||
TDENGINE_JDBC_URL: ${TDENGINE_JDBC_URL:-jdbc:TAOS-WS://172.17.111.57:6041/vehicle_ts}
|
TDENGINE_JDBC_URL: ${TDENGINE_JDBC_URL:-jdbc:TAOS-WS://172.17.111.57:6041/vehicle_ts}
|
||||||
TDENGINE_DATABASE: ${TDENGINE_DATABASE:-vehicle_ts}
|
TDENGINE_DATABASE: ${TDENGINE_DATABASE:-vehicle_ts}
|
||||||
@@ -149,7 +143,6 @@ services:
|
|||||||
- "${VEHICLE_HISTORY_HTTP_PORT:-20200}:20200"
|
- "${VEHICLE_HISTORY_HTTP_PORT:-20200}:20200"
|
||||||
volumes:
|
volumes:
|
||||||
- vehicle-history-archive:/archive
|
- vehicle-history-archive:/archive
|
||||||
- vehicle-history-event-store:/event-store
|
|
||||||
networks:
|
networks:
|
||||||
- vehicle-ingest
|
- vehicle-ingest
|
||||||
|
|
||||||
@@ -168,7 +161,6 @@ services:
|
|||||||
KAFKA_GROUP_STAT: ${KAFKA_GROUP_STAT:-vehicle-stat}
|
KAFKA_GROUP_STAT: ${KAFKA_GROUP_STAT:-vehicle-stat}
|
||||||
VEHICLE_STATE_ENABLED: ${VEHICLE_STATE_ENABLED:-false}
|
VEHICLE_STATE_ENABLED: ${VEHICLE_STATE_ENABLED:-false}
|
||||||
VEHICLE_STAT_ENABLED: ${VEHICLE_STAT_ENABLED:-true}
|
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_ZONE_ID: ${VEHICLE_STAT_ZONE_ID:-Asia/Shanghai}
|
||||||
VEHICLE_STAT_JT808_MILEAGE_ENABLED: ${VEHICLE_STAT_JT808_MILEAGE_ENABLED:-true}
|
VEHICLE_STAT_JT808_MILEAGE_ENABLED: ${VEHICLE_STAT_JT808_MILEAGE_ENABLED:-true}
|
||||||
VEHICLE_STAT_JT808_STATE_STORE: ${VEHICLE_STAT_JT808_STATE_STORE:-redis}
|
VEHICLE_STAT_JT808_STATE_STORE: ${VEHICLE_STAT_JT808_STATE_STORE:-redis}
|
||||||
@@ -183,8 +175,6 @@ services:
|
|||||||
REDIS_PASSWORD: ${REDIS_PASSWORD:-}
|
REDIS_PASSWORD: ${REDIS_PASSWORD:-}
|
||||||
ports:
|
ports:
|
||||||
- "${VEHICLE_ANALYTICS_HTTP_PORT:-20300}:20300"
|
- "${VEHICLE_ANALYTICS_HTTP_PORT:-20300}:20300"
|
||||||
volumes:
|
|
||||||
- vehicle-analytics-stat:/vehicle-stat
|
|
||||||
networks:
|
networks:
|
||||||
- vehicle-ingest
|
- vehicle-ingest
|
||||||
|
|
||||||
@@ -196,5 +186,3 @@ volumes:
|
|||||||
gb32960-ingest-data:
|
gb32960-ingest-data:
|
||||||
jt808-ingest-data:
|
jt808-ingest-data:
|
||||||
vehicle-history-archive:
|
vehicle-history-archive:
|
||||||
vehicle-history-event-store:
|
|
||||||
vehicle-analytics-stat:
|
|
||||||
|
|||||||
@@ -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);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user