白皮书
车联网设计与实现:搭建可靠、高效、符合行业需求的车联网平台 →

NanoMQ Newsletter 202110:首个稳定版本发布

NanoMQ Team
2021-10-29
NanoMQ Newsletter 202110:首个稳定版本发布

NanoMQ 首个版本发布已有近一年时间,这个十月,我们正式发布了项目首个稳定版本 v0.5.0。从该版本开始,NanoMQ 除了完整支持 MQTT 3.1.1 协议外,还将支持 MQTT Over WebSocket。用户也可以通过配置文件或命令行参数修改 NanoMQ 的启动调优选项。此外还增加了内置的 HTTP 服务器,未来将提供更丰富的 HTTP APIs。

接下来我们主要致力于 NanoMQ/NNG 的 MQTT SDK 支持和桥接功能开发,此功能预计在 0.6.0 版本中提供。敬请期待。

启动调优选项修改

NanoMQ 自发布之始就具有高兼容性和易移植性等特点,但在 0.4.0 版本之前需要用户根据自有平台的硬件配置在编译阶段选择优化参数进行调优。0.5.0 版本进一步优化了两种配置方式的使用体验。调优指南和主要支持的配置参数如下(以配置文件为例):

num_taskq_thread=4
max_taskq_thread=4

据系统的 CPU 线程数来确定初始/最大 taskq 线程数量,默认为 4。此配置决定了 NanoMQ 的性能和 CPU 利用率,建议和 CPU 最大线程数保持一致。

parallel=32

为系统最大并行的逻辑线程数,根据系统实际压力设置为宜,影响消息时延和内存使用。建议为 CPU 线程数 2 倍。

msq_len=64

为内置每个客户端的消息队列缓存的初始长度,NanoMQ 支持消息队列自动伸缩,建议根据系统内存大小设置为 2 的幂数,低于 128Mb 内存的设备建议固定为 1024。

qos_duration=60

为 NanoMQ 服务内置全局定时器的颗粒度,这一选项影响对于连接健康度检测的最小时间差。如果有大量客户端并发的情况,会些许消耗 CPU,建议设置为 MQTT 连接的 keepalive 时间一致。

allow_anonymous=yes    是否允许匿名登录
daemon=no              是否以守护进程启动

Websocket 服务

MQTT Over Websocket 一直是 MQTT 的一个主要使用领域,特别在前端和小程序开发有广泛应用。现在 NanoMQ 可以通过以下配置选项:

websocket.enable=yes
websocket.url=ws://0.0.0.0:8083/mqtt

来开启 Websokcet 端口。目前 Websocket 端口支持完整 MQTT 3.1.1协议。

HTTP 服务

作为一款 边缘端 MQTT 消息服务器,NanoMQ 也致力于提供易用的 HTTP APIs 给用户。目前 HTTP 服务还只支持获取所有订阅主题列表一个功能,之后我们会尽快完善相关的统计功能。

http_server.enable=yes
http_server.username=admin
http_server.password=public

社区 Issue 和 bug 修复

0.5.0 版本还修复了社区提交的几个重要安全相关漏洞。NanoMQ 团队将继续倾听用户的声音,为社区和行业交付稳定、强大和安全的边缘 MQTT 消息服务和消息总线。

免费试用 NanoMQ
开始试用 →

推荐阅读

2019-11-27eKuiper Team
轻量级边缘计算 EMQX Kuiper 与 AWS IoT 集成方案

在各类物联网项目中,比如智能楼宇项目,需要将楼宇的数据(比如电梯、燃气、水电等)进行采集和分析。一种解决方案是将所有的设备直接接入在云端的物联网平台,类似于像 AWS IoT 或者 Azure IoT Hub。本文以一个常见的物联网使用场景为案例,介绍了如何利用边缘计算来实现对业务的快速、低成本和有效地处理。