Architecture & Performance Blueprint — opcua2mqtt
Engineered in pure Rust with strict adherence to industrial deterministic latency and air-gapped IEC 62443-4-2 SL-2 cybersecurity requirements.
Key Architectural Invariants
- Zero Garbage Collection: Built on Tokio async runtime without JVM or Node.js V8 stop-the-world pauses, delivering predictable sub-10ms p99 latency.
- Air-Gapped MQTT & OPC UA Operation: 100% offline Ed25519 asymmetric license verification, zero unsolicited outbound calls, and zero open inbound ports.
- Embedded SQLite WAL Buffer: Non-volatile disk queue decoupling OPC UA PLC polling from MQTT broker availability across WAN drops and power cuts.
- Minimal Footprint: Consumes <50MB steady-state RAM and <18MB container image size on x86_64, aarch64 (IOT2050, Raspberry Pi), and armv7.
Pipeline Execution Flow
1. OPC UA Client connects using Basic256Sha256 SignAndEncrypt certificates. 2. Subscriptions or deterministic polling ingest tag changes with PLC SourceTimestamp. 3. Filtering & deadband pipeline normalizes values. 4. Persistent WAL commits samples before MQTT/Sparkplug B or TSDB delivery.