Deployment view¶
arc42 §7.
The framework supports two deployment shapes from the same envelope contract. Operators choose based on fault-isolation requirements; the plugin’s code is unchanged across both.
One OS process; the host launches both the plugin’s executor and a
tokio task hosting
flowchart LR
subgraph one_process[Single OS process]
direction LR
PLUGIN[Plugin executor<br/>taktora-executor]
GATEWAY[Gateway tokio task<br/>rumqttc + bridge]
SHM[(iceoryx2 SHM)]
PLUGIN <--> SHM <--> GATEWAY
end
BROKER[(MQTT broker)]
GATEWAY <--> BROKER
Pros. Simpler ops (one binary, one signal handler, one log stream). No SHM pool sizing for a peer process. Cons. A panic in the tokio task aborts the application — loses Fault isolation between pro... (QG_0001). Recommended for development, examples, and small deployments where protocol-stack stability is trusted. |
Two OS processes; each runs its own taktora-executor. The plugin’s
process embeds only
flowchart LR
subgraph plugin_proc[Plugin process]
PLUGIN[Plugin executor<br/>taktora-executor]
end
subgraph shm[iceoryx2 SHM]
POOL[(shared memory pool)]
end
subgraph gw_proc[Gateway process]
GATEWAY[Gateway executor + tokio<br/>rumqttc + bridge]
end
PLUGIN <--> POOL <--> GATEWAY
BROKER[(MQTT broker)]
GATEWAY <--> BROKER
Pros. Full fault isolation — a panic in the gateway crashes the
gateway only; the plugin observes |