Runtime Topology: YU02-lmax-kubernetes
Parent state: 014-fdc3-intent-interoperability
Describe runtime topology and network/data flow changes introduced by this state.
Entrypointsβ
- TraderX browser/UI/API entrypoint remains inherited from
014. - Existing websocket and FDC3 sidecar entrypoints remain inherited from
014unless changed later. - LMAX matcher health/readiness endpoints use Spring actuator probes on the inherited
order-matcherservice:- liveness:
/actuator/health/liveness - readiness:
/actuator/health/readiness - readiness includes the custom
lmaxRecoverycontributor
- liveness:
Componentsβ
- Inherits the Kubernetes/C3/FDC3 runtime components already present in
014. - Replaces inherited trading-path internals with the LMAX matcher, Gateway, replay, and output-ring semantics from
YU01. - Introduces stateful runtime concerns for journal, snapshot, replay, and readiness management.
- Keeps Postgres as the durable database baseline inherited from
014. - Mounts a dedicated
order-matcher-lmax-dataPVC for journal and snapshot files under/var/lib/traderx-lmax.
Networkingβ
- Existing
014frontend/FDC3 traffic remains inherited. - Trading-path network changes are expected to mirror
YU01: sequenced input, output-bridge egress, and projector-only persistence writes. - Persistence writes continue to flow only from the projector into Postgres.
- Failover and multi-node replication remain to be specified in follow-up implementation.
Startup / Health Orderβ
- Generate and verify inherited
014baseline assets. - Start Postgres, NATS, and inherited support services.
- Start
order-matcherwith readiness forced toREFUSING_TRAFFIC. - Run LMAX recovery:
recovery.source=dbwarm-start from Postgres read models- optional journal replay verification if the journal is enabled
- snapshot scheduler activation after recovery completes
- Flip readiness to
ACCEPTING_TRAFFIConly after matcher recovery completes successfully. - Start or verify
trade-serviceas the Gateway edge that forwards trade tickets intoorder-matcher. - Revalidate inherited FDC3/Sail behavior after the trading-path port lands.
Current Boundariesβ
- Recovery/readiness gating is implemented in this slice.
- JIT warm-up replay is still deferred; readiness is currently recovery-gated, not warm-up-gated.
- Snapshot files currently live beside the journal under the same mounted PVC because
SnapshotStorewrites into the journal directory. - Projector checkpoint files are still deferred; the durable watermark is currently the Postgres-backed projector progress plus the journal/snapshot pair.