Skip to main content
The database processor service (exchange-db-processor) handles asynchronous database operations and data processing for the exchange platform.

Deployment Configuration

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

ConfigMap

Configuration is managed through a ConfigMap:
apiVersion: v1
kind: ConfigMap
metadata:
  name: exchange-db-processor-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-db-processor:ed9f044dc79ee713da9518648524e0c68a70ddf7
  • Service Type: None (background processor)

Dependencies

The database processor depends on:
  • PostgreSQL: For data persistence and queries
  • Redis: For message queue consumption and caching
  • exchange-postgres-service: Database service endpoint
  • exchange-redis-service: Cache service endpoint

Functionality

The database processor is responsible for:
  • Asynchronous Processing: Handling database operations off the critical path
  • Event Processing: Consuming events from Redis queues
  • Data Aggregation: Computing aggregated metrics and statistics
  • Batch Operations: Processing bulk database updates efficiently

Architecture Notes

The db-processor runs as a background worker service:
  • Consumes messages from Redis queues
  • Performs database operations asynchronously
  • Reduces load on the main backend service
  • Enables scalable, decoupled data processing

Use Cases

  • Trade history aggregation
  • User balance calculations
  • Market data snapshots
  • Audit log processing
  • Analytics data preparation

Build docs developers (and LLMs) love