chore: enforce kafka-only messaging surface

This commit is contained in:
lingniu
2026-07-01 15:36:44 +08:00
parent 53f8f79c3e
commit 80c051e056
3 changed files with 29 additions and 2 deletions

View File

@@ -43,4 +43,4 @@ MYSQL_PASSWORD=<password>
## Notes
Do not create or write a protocol-specific JT808 daily-mileage table. Do not add MQ, distance accumulation, integral calculation, Redis state, or memory state back into this path unless the mileage definition changes again.
Do not create or write a protocol-specific JT808 daily-mileage table. Do not add another message backbone, distance accumulation, integral calculation, Redis state, or memory state back into this path unless the mileage definition changes again.

View File

@@ -382,12 +382,39 @@ class MavenModuleProfileTest {
String description = firstDirectChild(pom.getDocumentElement(), "description").getTextContent();
assertThat(description)
.contains("只支持 Kafka")
.contains("Java 25")
.contains("Spring Boot " + projectProperty(pom, "spring-boot.version"))
.contains("Netty " + projectProperty(pom, "netty.version"))
.doesNotContain("Spring Boot 3.4");
}
@Test
void defaultProductionSurfaceOnlySupportsKafkaAsMessageBackbone() throws Exception {
List<Path> productionSurface = List.of(
repositoryRoot().resolve("README.md"),
repositoryRoot().resolve("pom.xml"),
repositoryRoot().resolve("deploy/portainer/docker-compose.yml"),
repositoryRoot().resolve("deploy/local/launchctl/README.md"),
repositoryRoot().resolve("docs/operations/gb32960-service-split-runbook.md"),
repositoryRoot().resolve("docs/operations/vehicle-ingest-tdengine-verification.md"),
repositoryRoot().resolve("docs/operations/jt808-daily-mileage-runbook.md"),
repositoryRoot().resolve("docs/target-architecture.md"));
for (Path path : productionSurface) {
String text = Files.readString(path);
assertThat(text)
.as(path.toString())
.doesNotContain("sink-mq")
.doesNotContain("RabbitMQ")
.doesNotContain("RocketMQ")
.doesNotContain("Pulsar")
.doesNotContain("AMQP")
.doesNotContain("其他 MQ 后端");
}
}
@Test
void architectureDecisionsMatchCurrentDefaultProductionSurface() throws Exception {
String decisions = Files.readString(repositoryRoot().resolve("DECISIONS.md"));

View File

@@ -12,7 +12,7 @@
<name>lingniu-vehicle-ingest</name>
<description>
羚牛车辆数据接入平台 v2。
模块化原子能力 + 协议解耦 + 业务/实时解耦 + 数据出 Kafka 不落业务库
模块化原子能力 + 协议解耦 + 业务/实时解耦 + 生产链路只支持 Kafka
Java 25 + Spring Boot 3.5.3 + Netty 4.2.9.Final + Disruptor + Virtual Threads。
</description>