feat: scaffold Micronaut+Kotlin service per ACMA-8 v4 architecture
- 4 modules (ingress/processing/delivery/reference) + codec + infra + jobs - Flyway V2.0.0: six aux tables (PROC_STATE/MSG_EVENT/REF_DATA/REQ_TRACK/PUMP_JOB/FLIGHT_STATE) - Lua: snapshot_replace (atomic cover+gen-diff-delete), batch_delete (3:30 sweep) - config: env-externalized secrets, phase A/B switch, ACMA-8 param-table defaults - logback: logstash TCP JSON + traceId MDC - pure-logic tests: identity (I3), schd aggregation max-by-EVENT_ID (FIX #7) - build verified: gradle compile+test green on JDK 25 (Micronaut 5.1 requires JVM 25+) Migrated from legacy repo subdirectory per repo-strategy decision (separate repo per service, org convention). Refs: ACMA-9, ACMA-8 v4, ACMA-6
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
# =====================================================================
|
||||
# msgexchange-nextgen 配置(ACMA-8 v4)
|
||||
# 口令/端点全部环境变量外置——零入库(ACMA-8 契约冻结 + 安全基线)
|
||||
# =====================================================================
|
||||
msgx:
|
||||
phase: A # A=Redis 权威(主泵单线程写,I5);B=FLIGHT_STATE 权威+投影
|
||||
service-name: msgexchangeapi # 契约冻结;影子实例用 msgexchangeapi-shadow + 独立表/key前缀/topic
|
||||
register-eureka: true # 影子对拍期置 false 或独立服务名
|
||||
pipeline: # —— ACMA-8 参数表初值(阶段 0 基线校准)——
|
||||
poll-interval: 1s # KEEP 现役 1s 轮询节奏
|
||||
claim-batch: 50
|
||||
max-attempts: 5 # 处理/投递同值
|
||||
backoff-ms: [1000, 2000, 4000, 8000, 16000] # 指数退避,单次封顶 60s
|
||||
backoff-cap-ms: 60000
|
||||
head-deadline: 10m # 队头滞留上界 = 最坏 HOL 时长(毒丸升级)
|
||||
schd:
|
||||
flush-period: 3s # KEEP 现役推送节律
|
||||
flush-limit: 500 # 批上限,防积压尖峰
|
||||
identity:
|
||||
include-day-boundary: false # CONFIRM(矩阵 #11):SEQN 重置作用域确认前保持关闭
|
||||
consistency-check: # 阶段 A 唯一主动一致性哨兵(必选)
|
||||
on-startup: true
|
||||
daily-sample-ratio: 0.01
|
||||
|
||||
micronaut:
|
||||
application:
|
||||
name: msgexchange-nextgen
|
||||
server:
|
||||
port: 8080
|
||||
|
||||
datasource:
|
||||
url: ${MSGX_DB_URL}
|
||||
username: ${MSGX_DB_USER}
|
||||
password: ${MSGX_DB_PASSWORD}
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
|
||||
flyway:
|
||||
enabled: true
|
||||
locations: classpath:db/migration
|
||||
|
||||
redis:
|
||||
uri: ${MSGX_REDIS_URI} # 阶段 A 权威存储;仅主泵线程写(I5)
|
||||
|
||||
kafka:
|
||||
bootstrap:
|
||||
servers: ${MSGX_KAFKA_SERVERS}
|
||||
producers:
|
||||
acks: all
|
||||
enable-idempotence: true
|
||||
|
||||
eureka:
|
||||
client:
|
||||
registration:
|
||||
enabled: ${msgx.register-eureka}
|
||||
default-zone: ${MSGX_EUREKA_URL:http://127.0.0.1:8761/eureka}
|
||||
|
||||
# logstash TCP JSON 通道保留(字段兼容现网,ACMA-3 部署前提)——见 logback.xml
|
||||
logstash:
|
||||
host: ${MSGX_LOGSTASH_HOST:127.0.0.1}
|
||||
port: ${MSGX_LOGSTASH_PORT:5044}
|
||||
Reference in New Issue
Block a user