Architecture Overview
NotiBoost architecture is designed for reliability, scalability, and determinism.
Overview
NotiBoost consists of the following main components:
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:
- Product system sends event via API
- Event is validated and queued
- Rule engine evaluates and matches flow
- Workflow engine executes orchestration
- Channel adapter sends message
- 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
