Runtime Topology: 007 Pricing Awareness and Market Data
Parent state: 006-observability-lgtm-compose
Entrypointsβ
- Browser/UI ingress:
http://localhost:8080 - NATS client port (internal compose network):
4222 - NATS monitoring (optional local):
8222 - NATS websocket ingress path (proxied):
/nats-ws - Price publisher REST:
http://localhost:18100
Componentsβ
nats-brokerremains core messaging bus from state006.price-publisherpublishespricing.<TICKER>market ticks.trade-serviceenriches orders with executionpriceviaprice-publisher.trade-processorpersiststrade.priceandposition.averageCostBasis.web-front-end-angularsubscribes to account updates andpricing.*.
Networkingβ
- Service-to-service messaging uses NATS TCP over compose network.
- Browser real-time stream uses WebSocket upgrade through ingress path
/nats-ws. - Price publisher is available via ingress path
/price-publisher/and direct local port18100.
Startup / Health Orderβ
nats-brokerandprice-publishermust be healthy before trade-service startup.- Frontend may start before broker/price streams, but subscriptions must retry until available.
Source-of-Truth Filesβ
system/messaging-subject-map.mdsystem/docker-compose.nats.snippet.yamlsystem/ingress-nginx.nats-ws.snippet.conf