maxmq

module
v0.0.0-...-c408d52 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2023 License: Apache-2.0

README

MaxMQ

build codecov Go Report Card license

NOTE: This project is under development, DO NOT use it in production.

MaxMQ is an open-source, cloud-native, and high-performance message broker for IoT, compliant with the MQTT 3.1, 3.1.1 and 5.0 specification.

MaxMQ is an Apache 2.0 licensed MQTT broker developed in Go, and designed with the following characteristics:

  • High Availability: The system must have low latency and maintain highly available for any operations even if one or more nodes are in a failure state, or if there's a network failure.
  • High Scalability: The system must scale both vertically (make use of modern multicore, multi-CPU architectures, and high-capacity storage devices), as well as horizontally (adding more nodes).
  • High Performance: The system must run as close to the hardware as possible to deliver low and consistent latency as well as very high throughput.
  • High Maintainability: The system must be easy to operate with easy-to-use features that require minimal initial configuration.
What is MQTT?

MQTT stands for MQ Telemetry Transport. It is a publish-subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks. Learn more

Features
  • MQTT 3.1, 3.1.1 and 5.0 protocol (Coming soon)
  • Metrics support (Prometheus) (Coming soon)
Roadmap
  • MQTT over WebSocket
  • SSL / TLS
  • $SYS support
  • Username and password authentication
  • Access control (ACL) based on client ID, username, or client certificate
  • Connection rate limit
  • Message rate limit
  • High-Availability (Cluster)
  • Rule Engine
  • Multi-tenant support
  • Extensible through plugins
  • WebUI

Design

For an in-depth understanding of the MaxMQ architecture, see the System Design.

Contributing

Please follow the MaxMQ Contributing Guide

License

This project is released under Apache 2.0 License.

Directories

Path Synopsis
cmd
internal
cli

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL