Page cover

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.

Feature
CybusMQ
VerneMQ
CybusMQ Advantage

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?