- Engine: The core of iii. It is the engine that powers the iii architecture.
- Modules: The core modules that make up the iii architecture.
- Adapters: The adapters that connect the iii architecture to the outside world. See Adapters for details.
Engine
The engine is the orchestration layer. Responsible for connecting the modules to the workers.Core Modules
Built with Rust for exceptional speed and memory efficiency, Core Modules deliver top-tier performance. Examples of Modules:- HTTP Module: Expose functions as HTTP endpoints.
- Stream Module: Durable streams for real-time data subscriptions.
- Queue Module: Topic-based message queuing with retries and DLQ.
- PubSub Module: Topic-based publish/subscribe for real-time events.
- Cron Module: Schedule functions with cron expressions.
- Observability Module: Traces, metrics, logs, and alerts (OpenTelemetry).
How to configure the Engine
Let’s use the Stream Module as an example. The following file is the main configuration file for iii. Add it to your project asiii-config.yaml and iii will automatically load the modules and adapters.
modules::stream::adapters::RedisAdapter.
We can configure the Redis URL to use for the RedisAdapter.