Architecture Overview

NotiBoost architecture is designed for reliability, scalability, and determinism.

Overview

NotiBoost consists of the following main components:

Event Ingestion Receive and validate events from product system
Rule Engine Evaluate conditions and match flows
Workflow Engine Execute orchestration logic
Channel Adapters Send messages through channels
Observability Log and audit trail

Components

Event Ingestion

First component in the pipeline, handles incoming events:

  • Validate event structure
  • Normalize event data
  • Queue events for processing
  • Return trace_id immediately

Rule Engine

Rule engine evaluates events and decides which flows to trigger:

  • Condition-based matching
  • Deterministic evaluation
  • Versioned rules
  • Hot-reloadable (no restart needed)

Workflow Engine

Workflow engine orchestrates multi-step notification flows:

  • Sequential and parallel steps
  • Conditional branching
  • Delays and scheduling
  • Fallback strategies

Channel Adapters

Channel adapters handle communication with notification channels:

  • API integration with channels
  • Quota management
  • Retry logic
  • Delivery status tracking

Observability

Observability layer provides full visibility:

  • Trace IDs for each message
  • Audit logs
  • Delivery status tracking
  • Error logging

Data Flow

Processing flow from event to delivery:

  1. Product system sends event via API
  2. Event is validated and queued
  3. Rule engine evaluates and matches flow
  4. Workflow engine executes orchestration
  5. Channel adapter sends message
  6. Observability layer logs entire process

Reliability

NotiBoost ensures reliability through:

Queue-based Processing

Events are queued before processing, ensuring no message loss even during traffic spikes.

Automatic Retry

Failed deliveries are automatically retried with exponential backoff strategy.

Fallback Strategies

When primary channel fails, system automatically falls back to another channel as configured.

Scalability

Architecture is designed to scale:

  • Horizontal scaling for event processing
  • Queue-based architecture handles traffic spikes
  • Stateless components are easy to scale