refactor(storage): ACM2-12 落地——自有 PostgreSQL 全内部状态,共享 MySQL 仅信箱
按 ACM2-12 定案把仓库存储口径从"MySQL 六辅助表"推进到最终形态: - 迁移:删除 MySQL V2.0.0 六表脚本,新增自有 PG V1.0.0 (PROC_STATE/MSG_EVENT/PUMP_JOB/REQ_TRACK/REF_MASTER,PG 方言,REQ_TRACK.COUTMSGS_ID 按 U18 修为 BIGINT;FLIGHT_STATE 阶段 B 缓做不建表)。 - 配置:datasources.default = 自有 PostgreSQL(enabled=false 待 U05); 移除 datasources.reference/flyway.reference;新增 mailbox.shared-mysql(共享信箱, 仅 DML,不建表);test profile 显式启用 H2 内存 datasource。 - 接口/注释:Repositories KDoc 按 ACM2-12 归属(自有 PG / 信箱封装 / gen→Redis 占位 / FLIGHT_STATE 缓做);InboxService、Pump 事务模型注释对正 (信箱外部副作用 + PG 本地事务 + 回填最终一致)。 - 文档:architecture §1/§2/§3/§4/§5(D1/D2)/§6/§7/§8、design §1/§2/§3.1/§3.4/§3.5/§6/§9、 README 全部按 ACM2-12 收口(自有 PG + 共享信箱 + Redis 动态/gen + 阶段 B 缓做)。 验证:37 测试全绿;dev stub 冒烟仍可启动、/health UP、收报 200。 信箱适配层(CminmsgMailbox/OutboxMailbox)、gen→Redis Lua、作业窗口语义、影子重设计 属 ACM2-12 Checks ②③④⑤(U05/U09 批次)。
This commit is contained in:
@@ -1,12 +1,15 @@
|
||||
# =====================================================================
|
||||
# msgexchange-nextgen 配置(ACMA-8 v4)
|
||||
# 口令/端点全部环境变量外置——零入库(ACMA-8 契约冻结 + 安全基线)
|
||||
# msgexchange-nextgen 配置(ACM2-12 口径)
|
||||
# 口令/端点全部环境变量外置——零入库。
|
||||
# 存储边界:自有 PostgreSQL(datasources.default,全部内部状态)+
|
||||
# 共享 MySQL 信箱(mailbox.cminmsgs / mailbox.coutmsgs,仅 DML,不建表)+
|
||||
# Redis(航班动态 + 快照 gen)+ Kafka + Eureka/logstash(见 ACM2-12 与 docs)。
|
||||
# 键位口径:Micronaut 5.1(U03):datasources.* / flyway.datasources.* /
|
||||
# kafka.producers.<name>.* / eureka.client.*(Micronaut 原生键,勿改回 datasource 单数或 Spring 风格)。
|
||||
# kafka.producers.<name>.* / eureka.client.*(Micronaut 原生键)。
|
||||
# =====================================================================
|
||||
msgx:
|
||||
phase: A # A=Redis 权威(主泵单线程写,I5);B=FLIGHT_STATE 权威+投影
|
||||
service-name: msgexchangeapi # 契约冻结;影子实例用 msgexchangeapi-shadow + 独立表/key前缀/topic
|
||||
phase: A # 航班动态权威 Redis(主泵单线程写,I5);阶段 B 缓做(ACM2-12)
|
||||
service-name: msgexchangeapi # 契约冻结;影子实例用 msgexchangeapi-shadow
|
||||
register-eureka: true # 影子对拍期置 false 或独立服务名
|
||||
pipeline: # —— ACMA-8 参数表初值(阶段 0 基线校准)——
|
||||
poll-interval: 1s # KEEP 现役 1s 轮询节奏
|
||||
@@ -21,7 +24,7 @@ msgx:
|
||||
flush-limit: 500 # 批上限,防积压尖峰
|
||||
identity:
|
||||
include-day-boundary: false # CONFIRM(矩阵 #11):SEQN 重置作用域确认前保持关闭
|
||||
consistency-check: # 阶段 A 唯一主动一致性哨兵(必选)
|
||||
consistency-check: # 一致性哨兵(实装属 U25)
|
||||
on-startup: true
|
||||
daily-sample-ratio: 0.01
|
||||
|
||||
@@ -32,36 +35,33 @@ micronaut:
|
||||
port: 8080
|
||||
# 管理端点(U03/N32):/env、/beans 默认 sensitive;仅开发/影子环境放开——见 application-dev.yml
|
||||
|
||||
# 自有 PostgreSQL:全部内部状态(消息管道 PROC_STATE/MSG_EVENT、PUMP_JOB、REQ_TRACK、
|
||||
# 21 类 REF_MASTER;迁移 db/migration,ACM2-12)。数据层实装(U05/阶段 6)前 enabled=false。
|
||||
datasources:
|
||||
default:
|
||||
url: ${MSGX_DB_URL}
|
||||
username: ${MSGX_DB_USER}
|
||||
password: ${MSGX_DB_PASSWORD}
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
# ACM2-11:21 类静态主数据独立 PostgreSQL 参考库(reference datasource)。
|
||||
# 数据层实装(阶段 6 / U05 批次)前默认 disabled——不建连不解析占位符;
|
||||
# 接入时置 enabled=true 并设 MSGX_REF_DB_URL(或 host/port/name)等环境变量。
|
||||
reference:
|
||||
enabled: false
|
||||
url: ${MSGX_REF_DB_URL}
|
||||
username: ${MSGX_REF_DB_USER:reference}
|
||||
password: ${MSGX_REF_DB_PASSWORD:}
|
||||
url: ${MSGX_PG_URL}
|
||||
username: ${MSGX_PG_USER}
|
||||
password: ${MSGX_PG_PASSWORD}
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
flyway:
|
||||
datasources:
|
||||
default:
|
||||
enabled: true
|
||||
locations: classpath:db/migration
|
||||
# U04(R01):V2.0.0 只建六张辅助表,假定 CMINMSGS/CMINMSGS_HST 等 legacy 旧表已存在;
|
||||
# 全新库请按 README「数据库初始化」先落 legacy schema(或 baseline),否则收报首句 SQL 会报表不存在。
|
||||
reference:
|
||||
# ACM2-11:21 类静态主数据 PG 库迁移(类表 DDL 草案见 ACM2-11 Checks,阶段 6 落库)
|
||||
enabled: false
|
||||
locations: classpath:db/ref-migration
|
||||
locations: classpath:db/migration
|
||||
|
||||
# 共享 MySQL 信箱(他人系统库,仅 DML:收报写 CMINMSGS、出站写 COUTMSGS;不建表/schema,
|
||||
# ACM2-12)。驱动/依赖与信箱适配层(CminmsgMailbox/OutboxMailbox)随 U05 批次引入。
|
||||
mailbox:
|
||||
shared-mysql:
|
||||
url: ${MSGX_MAILBOX_URL}
|
||||
username: ${MSGX_MAILBOX_USER}
|
||||
password: ${MSGX_MAILBOX_PASSWORD}
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
|
||||
redis:
|
||||
uri: ${MSGX_REDIS_URI} # 阶段 A 权威存储;仅主泵线程写(I5)
|
||||
uri: ${MSGX_REDIS_URI} # 航班动态权威 + 快照 gen;仅主泵线程写(I5)
|
||||
|
||||
kafka:
|
||||
bootstrap:
|
||||
|
||||
Reference in New Issue
Block a user