- Notifications
You must be signed in to change notification settings - Fork2.3k
The most scalable open-source MQTT broker for IoT, IIoT, and connected vehicles
License
emqx/emqx
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
EMQX is the world's most scalable open-sourceMQTT broker with a high performance that connects 100M+ IoT devices in 1 cluster, while maintaining 1M message per second throughput and sub-millisecond latency.
EMQX supports multiple open standard protocols like MQTT, HTTP, QUIC, and WebSocket. It’s 100% compliant with MQTT 5.0 and 3.x standard, and secures bi-directional communication with MQTT over TLS/SSL and various authentication mechanisms.
With the built-in powerful SQL-basedrules engine, EMQX can extract, filter, enrich and transform IoT data in real-time. In addition, it ensures high availability and horizontal scalability with a masterless distributed architecture, and provides ops-friendly user experience and great observability.
EMQX boasts more than 20K+ enterprise users across 60+ countries and regions, connecting 250M+ IoT devices worldwide, and is trusted by over 1000 customers in mission-critical scenarios of IoT, IIoT, connected vehicles, and more, including over 70 Fortune 500 companies like HPE, VMware, Verifone, SAIC Volkswagen, and Ericsson.
For more information, please visitEMQX homepage.
The simplest way to set up EMQX is to create a managed deployment with EMQX Cloud. You cantry EMQX Cloud for free, no credit card required.
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest
Next, please follow theInstall EMQX Using Docker guide for further instructions.
Please consult officialEMQX Operator documentation for details.
EMQX is available as coreHomebrew package.
brew install emqxemqx start
If you prefer to install and manage EMQX yourself, you can download the latest version fromthe official site.
For more installation options, see theEMQX installation documentation.
The EMQX documentation is available atdocs.emqx.com/en/emqx/latest.
The EMQX Cloud documentation is available atdocs.emqx.com/en/cloud/latest.
Please see ourcontributing guide.
For more organised improvement proposals, you can send pull requests toEIP.
- Follow@EMQTech on Twitter.
- Join ourSlack.
- If you have a specific question, check out ourdiscussion forums.
- For general discussions, join us on theofficial Discord team.
- Keep updated onEMQX YouTube by subscribing.
A series of blogs to help developers get started quickly with MQTT in PHP, Node.js, Python, Golang, and other programming languages.
We have selected popular MQTT client SDKs in various programming languages and provided code examples to help you quickly understand the use of MQTT clients.
An elegant cross-platform MQTT 5.0 client tool that provides desktop, command line, and web to help you develop and debug MQTT services and applications faster.
Build a reliable, efficient, and industry-specific IoV platform based on EMQ's practical experience, from theoretical knowledge such as protocol selection to practical operations like platform architecture design.
Themaster
branch tracks the latest version 5. For version 4.4 checkout themain-v4.4
branch.
- EMQX 4.4 requires OTP 24.
- EMQX 5.0 ~ 5.3 can be built with OTP 24 or 25.
- EMQX 5.4 and newer can be built with OTP 25 or 26.
git clone https://github.com/emqx/emqx.gitcd emqxmake_build/emqx/rel/emqx/bin/emqx console
For 4.2 or earlier versions, release has to be built from another repo.
git clone https://github.com/emqx/emqx-rel.gitcd emqx-relmake_build/emqx/rel/emqx/bin/emqx console
Below is the matrix supported rolling upgrade paths since 5.0.
- Version numbers end with
?
e.g.6.0?
are future releases. - ✅: Supported, or planed to support.
⚠️ : May experience issues, require manual resolution.- ❌: Not supported.
- 🔄: Tentative support for future versions.
See release notes for detailed information.
From\To | 5.1 | 5.2 | 5.3 | 5.4 | 5.5 | 5.6 | 5.7 | 5.8 | 5.9? | 5.10? | 6.0? |
---|---|---|---|---|---|---|---|---|---|---|---|
5.0 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌[2] | ❌[2] | |
5.1 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌[2] | ❌[2] |
5.2 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌[2] | ❌[2] | |
5.3 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌[2] | ❌[2] | ||
5.4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 🔄 | ||||
5.5 | ✅ | ✅ | ✅ | ✅ | ✅ | 🔄 | |||||
5.6 | ✅ | ✅ | ✅ | ✅ | ✅ | 🔄 | |||||
5.7 | ✅ | ✅ | ✅ | ✅ | 🔄 | ||||||
5.8 | ✅ | ✅ | ✅ | 🔄 | |||||||
5.9? | ✅ | ✅ | ✅ | ||||||||
5.10? | ✅ | ✅ | |||||||||
6.0? | ✅ |
- [1] Old limiter configs should be deleted from the config files (
etc/emqx.conf
anddata/configs/cluster-override.conf
) before upgrade. - [2] Pre-5.4 routing table will be deleted. Upgrade to 5.9 first, then perform a full-cluster restart (not rolling) before upgrade to 5.10 or later.
SeeLICENSE.
About
The most scalable open-source MQTT broker for IoT, IIoT, and connected vehicles