docs/architecture/index.mdx
An iii system is made up of four components working together: the Engine, Workers, Modules, and Context.
graph TD
subgraph "External World"
Client[HTTP Client]
Redis[(Redis)]
User[WebSocket
User]
end
subgraph "iii Engine Process"
Core[Engine Core]
Reg[Worker
Registry]
subgraph "Core Modules"
API[RestApiModule]
Stream[StreamModule]
Log[OtelModule]
Queue[QueueModule]
Cron[CronModule]
end
end
subgraph "Worker Processes"
W1[Node.js
Worker]
W2[Python
Worker]
end
Client -->|HTTP
Request| API
User -->|WS
Message| Stream
API --> Core
Stream --> Core
Core -->|Lookup| Reg
Core -->|Invoke
Function| W1
Core -->|Invoke
Function| W2
W1 -->|Register| Core
W2 -->|Register| Core
Queue -.->|Persist/Sub| Redis
Stream -.->|State| Redis
Cron -.->|Locks| Redis
Log -.->|Store| Redis