Silo 01

Message Silo

An event-driven workflow platform powered by ActiveMQ to coordinate asynchronous order and compliance tasks.

Requirements

  • Decouple compliance checks from synchronous order APIs.
  • Provide replay-safe processing for transient downstream failures.
  • Surface workflow status to operations in near real time.

Stack

  • Node.js
  • TypeScript
  • ActiveMQ
  • Redis
  • Docker

Architecture

Workflow

  1. Order service emits `order.created` into ingress queue.
  2. Routing worker fans out events to compliance, billing, and notification queues.
  3. Consumers acknowledge on success or route failed messages to DLQ after retry policy.
  4. Ops dashboard exposes queue depth, DLQ volume, and replay controls.

Diagram

flowchart LR
      A[Order API] --> B[ActiveMQ Ingress Queue]
      B --> C[Routing Worker]
      C --> D[Compliance Queue]
      C --> E[Billing Queue]
      C --> F[Notification Queue]
      D --> G[Compliance Consumer]
      E --> H[Billing Consumer]
      F --> I[Notification Consumer]
      G --> J[DLQ]
      H --> J
      I --> J
      J --> K[Replay Tool]

Tradeoffs

  • Higher operational complexity versus direct synchronous calls.
  • Eventual consistency accepted to gain resilience and scalability.
  • Message schema governance required to avoid contract drift.

Risks / Failure Modes

  • Consumer idempotency gaps can create duplicate side effects.
  • Poor DLQ triage can hide chronic integration failures.
  • Queue backpressure can delay user-facing state visibility.

Outcomes