Architecture
Overview
Conduit runs on a microservice-based architecture, designed to accomplish two key goals:
- Individual scaling - Scale each service independently based on traffic patterns
- Selective deployment - Only spin up the services you actually need
For example, you could use only Authentication, Database, and Core if you want Conduit to handle user authentication. Don't need the admin panel? Simply don't deploy it.
Core Structure
Conduit Core consists of three main components:
| Component | Purpose |
|---|---|
| Core | Orchestrates Admin and Config startup |
| Admin | Handles administrative requests |
| Config | Configuration storage and service registry |
Request Flow
- Application requests pass through Router (with security middleware)
- Administrative requests pass through Admin
- Both Router and Admin have gRPC functions for route registration from modules
Config Service
The Config package serves as the service registry for every Conduit cluster:
- Tracks all service locations
- Monitors online/offline status
- Manages service availability
General Architecture
All modules communicate with Core and with each other via gRPC.
Module Lifecycle
- Connect to Core's gRPC server
- Retrieve configuration from Config service
- Spin up own gRPC server (optional)
- Register as a module with name and exposed address
Route Registration
After initialization, modules can register routes to:
- Router - For client-facing endpoints
- Admin - For admin-facing endpoints
Inter-Module Communication
- Modules communicate directly via gRPC (without going through Core)
- Core publishes module changes in real-time
- When a module is deactivated, all others are notified instantly
- The gRPC-SDK handles connection management automatically