gsalomao / maxmq Goto Github PK
View Code? Open in Web Editor NEWAn Open-Source, Cloud-Native and High-Performance MQTT Broker for IoT.
License: Apache License 2.0
An Open-Source, Cloud-Native and High-Performance MQTT Broker for IoT.
License: Apache License 2.0
The broker must allow clients to publish QoS 1 messages when it receives an MQTT PUBLISH
packet.
The project must allow anyone to install the broker on a Kubernetes cluster using Helm Chart.
The broker must keep the clients connected, this means that it must respond with PINGRESP
when the client sends the PINGREQ
packet, based on the MQTT specification.
When the client does not send the PINGREQ
within the Keep Alive
window, the broker must disconnect the client.
The broker must create subscriptions when it receives MQTT SUBSCRIBE
packets. The subscriptions created must be associated with the session of the client who sent the SUBSCRIBE
packet.
Allow clients to connect to the broker using the MQTT protocol.
The broker must conform with the standard versions 3.1, 3.1.1, or 5.0.
Allow the administrator to override the configurations defined in the maxmq.conf
using environment variables.
The broker must export Prometheus metrics to monitor its operation.
The broker must be started and stopped by the command line.
The command line must have at least the following commands:
--help
to show the available commands--version
to show the application versionstart
to start the brokerThe broker must stop on SIGINT
signal.
The project must allow anyone generates a Docker image with everything needed to start the broker.
The application must load its configuration from the maxmq.conf
file on startup. The file can be stored at the following locations with the following order:
/etc/maxmq
/etc
The generated logs shall be outputted to the console using colours to improve the readability.
Allow logging using different formats and destinations.
The allowed formats are:
pretty
where the output is in text with colourstext
where the output is in plain text (no colours)json
where the output is in JSON formatThe allowed destinations are:
console
where the output goes to the consolefile
where the output goes to a fileThe format and destination shall be chosen by configuration (maxmq.conf
or environment variables).
The broker must allow clients to publish QoS 0 messages when it receives an MQTT PUBLISH
packet.
The broker must disconnect the clients when it receives the MQTT DISCONNECT
packet.
The broker must remove the subscription when it receives MQTT UNSUBSCRIBE
packets. The subscription associated with the session must be removed.
The broker must allow clients to publish QoS 2 messages when it receives an MQTT PUBLISH
packet.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.