mqtt-server 是一个使用 C++20 协程开发的支持 MQTT v3.1.1
协议的高性能 MQTT Broker,
支持单机上万的并发连接, CPU 及内存占用小, 可以很好的运行在资源有限的机器上,
支持 Linux 和 Windows 平台
- 需要支持 C++20 的编译器版本(Linux GCC 11.2+, Windows Visual Studio 2022)
-
支持完整的 MQTT
3.1.1
协议 -
支持 ACL 认证 (详见 How to use ACL )
-
支持自动订阅 (为新连接的客户端自动订阅指定主题, 不受 ACL 控制)
-
支持 SSL/TLS 安全通信 (
TLS1.2
和TLS1.3
) (详见 How to use TLS ) -
比
EMQX
更优秀的性能和更低的资源消耗 (详见 压测报告 ) -
支持 Docker 部署 (详见 Use Docker Image )
-
支持 WebSocket 协议
git clone https://github.com/xukeawsl/mqtt-server.git
cd mqtt-server
mkdir build && cd build
# 默认 Release 级别, 也可以选择 Debug 级别构建
# cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake ..
cmake --build .
# 构建时可以选择日志级别, Release 构建默认日志级别是 Info
# Debug 构建默认日志级别是 Debug, 支持以下的日志级别
# Trace, Debug, Info, Warn, Error, Critical, Off
cmake -DLOG_LEVEL=Error ..
# Linux
./mqtt-server
# Windows
.\mqtt-server.exe
关于如何使用 SSL/TLS
或其他详细内容见 wiki 页面