
CybusMQ
The Industrial MQTT Broker.
CybusMQ is a robust MQTT broker tailored for industrial applications, offering support for both MQTT 5 and MQTT 3.1.1 protocols. It serves as the central message broker within the Connectware ecosystem, facilitating efficient data exchange and inter-service communication.
Key Features
Industrial-grade stability and scalability: Engineered to withstand the demands of industrial environments, ensuring reliable performance under high-load conditions. See Scaling the Broker Cluster for scaling strategies.
Protocol support: Offers services for MQTT, secure MQTT over TLS (MQTTS), and MQTT over WebSockets, providing flexibility in communication methods. See Collocated One-way and Mutual TLS for TLS configuration details.
Metrics exposure: Exposes comprehensive usage and performance metrics for integration with monitoring systems like Prometheus and Grafana. See Monitoring & Analytics for details.
Authentication delegation: Employs webhooks to delegate authentication processes to the Auth-Server, ensuring secure access control. See Self-Refreshing Webhooks Cache for implementation details.
Technical Specifications
Foundation: CybusMQ is built on VerneMQ, a high-performance distributed MQTT message broker. This foundation provides robust messaging capabilities across distributed systems.
Technology stack: CybusMQ is written in Erlang, a language optimized for concurrent operations and fault tolerance. The Erlang/OTP virtual machine uses preemptive scheduling, delivering consistent low latency for real-time applications at scale.
Configuration: CybusMQ can be configured through environment variables and configuration files. See Configuration Options and Environment Variables for available settings.
For a detailed comparison between CybusMQ and VerneMQ, see Feature Overview.
Feature Overview
Comparison between CybusMQ and VerneMQ, highlighting the advantages of CybusMQ.
Performance & Scalability
Configurable single/multiple delivery
Multiple delivery
Reduced network overhead and simplified client implementation
Synchronous processing at cluster level
Asynchronous processing
Better control over subscription acknowledgments
Clustering & High Availability
Periodic discovery attempts at runtime
Single cluster discovery attempt at startup
Seamless scaling and node management in cloud environments
Detached queue and sender tolerating network instabilities, multithreaded routing on receive
Single sender/queue sensitive to network delays, single-threaded routing on receive
Better cluster stability and performance
Improved data structures, optimizations, faster initial sync
Upscale is slow and memory-intensive for aged replicas
Faster initial sync when cluster is upscaled, better memory profile
Security
Flexible TLS configuration options
Separate listeners needed for one-way and mutual TLS
Simplified client configuration and network maintenance
Detached authentication updates from publish processing
Trial and error expiration strategy during publish processing
No delayed message forwarding due to authentication
Last updated
Was this helpful?

