Skip to main content
The engine service (exchange-engine) handles order matching and trade execution for the exchange platform.

Deployment Configuration

apiVersion: apps/v1
kind: Deployment
metadata:
  name: exchange-engine-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: exchange-engine
  template:
    metadata:
      labels:
        app: exchange-engine
    spec:
      containers:
        - name: exchange-engine
          image: jogeshwar01/exchange-engine:ed9f044dc79ee713da9518648524e0c68a70ddf7
          env:
            - name: DATABASE_URL
              valueFrom:
                configMapKeyRef:
                  name: exchange-engine-config
                  key: database_url
            - name: REDIS_URL
              valueFrom:
                configMapKeyRef:
                  name: exchange-engine-config
                  key: redis_url

ConfigMap

Configuration is managed through a ConfigMap:
apiVersion: v1
kind: ConfigMap
metadata:
  name: exchange-engine-config
data:
  database_url: "postgres://root:[email protected]:80/exchange-db"
  redis_url: "redis://exchange-redis-service.default.svc.cluster.local:80"

Environment Variables

VariableValueDescription
DATABASE_URLpostgres://root:[email protected]:80/exchange-dbPostgreSQL connection URL
REDIS_URLredis://exchange-redis-service.default.svc.cluster.local:80Redis connection URL

Service Details

  • Replicas: 1
  • Image: jogeshwar01/exchange-engine:ed9f044dc79ee713da9518648524e0c68a70ddf7
  • Service Type: None (background processor)

Dependencies

The engine service depends on:
  • PostgreSQL: For persistent order and trade storage
  • Redis: For order book caching and pub/sub messaging
  • exchange-postgres-service: Database service endpoint
  • exchange-redis-service: Cache service endpoint

Functionality

The exchange engine is responsible for:
  • Order Matching: Matching buy and sell orders based on price-time priority
  • Trade Execution: Creating trades when orders match
  • Order Book Management: Maintaining real-time order book state
  • Event Publishing: Publishing trade events to Redis for real-time updates

Architecture Notes

The engine runs as a background service without a direct HTTP interface. It:
  • Consumes order messages from Redis
  • Updates order book state in memory
  • Persists trades to PostgreSQL
  • Publishes trade events back to Redis for downstream consumers

Build docs developers (and LLMs) love