Frequently Asked Questions (FAQ)
This document answers common questions about rekuiper, its Rust architecture, compatibility with LF Edge eKuiper, performance, and security.
1. Architecture Overview
rekuiper is a pure-Rust, single-binary edge stream processing engine and SQL rule engine designed for Industrial IoT (IIoT), smart manufacturing, connected vehicles, and high-throughput telemetry pipelines.
2. General Questions
What is the difference between rekuiper and LF Edge eKuiper?
- Language:
rekuiperis written completely in Rust. Upstream LF EdgeeKuiperis written in Go. - Compatibility:
rekuiperpreserves 100% drop-in API, CLI, and SQL syntax compatibility with LF Edge eKuiper rulesets. - Garbage Collection: Rust provides manual, deterministic memory management with zero garbage collection (GC) pauses. Go introduces periodic runtime GC sweeps that increase tail latency.
- Resource Footprint:
rekuiperruns stably under 35 MB RAM even with 1,000 active SQL rules. - Built-in Connectors: Native Rust Modbus, OPC-UA, Parquet, and MCP AI tooling are included in the single binary without C-shared plugins.
Is rekuiper open source?
Yes. rekuiper is open source software distributed under the Apache-2.0 / MIT licenses.
3. Web Console & Security FAQ
Why is the Web Console showing "Disabled" by default?
By default, the Web Console (/ui) is disabled (enableUi: false) to comply with zero-trust edge industrial hardening standards. This prevents unauthorized web access on industrial gateways.
How do I enable the Web Console?
You can enable the Web Console via CLI flag, environment variable, or configuration file:
# Via CLI flag:
kuiperd --enable-ui
# With password protection and IP restrictions:
kuiperd --enable-ui --ui-password "SecretGatewayPass123" --ui-allow-ip "10.0.0.0/8,192.168.1.0/24"In etc/kuiper.yaml:
basic:
enableUi: true
uiPassword: "SecretGatewayPass123"
uiIpAllowlist: "10.0.0.0/8,192.168.1.0/24"How does the IP allowlist work?
The allowlist accepts a comma-separated list of individual IPv4/IPv6 addresses and CIDR subnets (for example, 127.0.0.1, 10.0.0.0/8, ::1). Any request originating outside the configured subnets immediately receives an HTTP 403 Forbidden response.
4. Performance & Execution FAQ
How fast is rekuiper?
In single-core benchmark tests:
- Filter and Projection: 150,000 to 200,000+ messages per second per core.
- Windowed Aggregations: Over 100,000 messages per second per core.
- End-to-End Latency: Median sub-millisecond (< 850 microseconds) processing time.
How does rekuiper isolate failing payloads?
rekuiper features an integrated Dead-Letter Queue (DLQ). When a malformed JSON payload or type error occurs in a stream, the engine routes the bad record to a designated DLQ sink topic without stopping the rule or dropping subsequent valid records.
5. Protocol & Connector FAQ
Which protocols are supported out of the box?
- Ingestion (Sources): MQTT (v3.1.1, v5, TLS/mTLS), HTTP/REST, Modbus TCP/RTU, OPC-UA, Apache Kafka, Redis Streams, WebSocket, ZeroMQ.
- Delivery (Sinks): MQTT, HTTP Webhooks, Apache Parquet (Snappy-compressed with schema inference), InfluxDB v1/v2, TDengine 3, IoTDB, Kafka, SQL/PostgreSQL, File, Log, Memory.
Can AI agents interact with rekuiper?
Yes. rekuiper includes a native Model Context Protocol (MCP) server crate (rekuiper-mcp). Industrial AI agents (in Claude Desktop, Cursor, or custom frameworks) can inspect active streams, dry-run SQL rules, and monitor telemetry pipelines safely.