介绍的差不多了,该部署个服务器折腾一下了。在前面讲了 4 种主流的开源 MQTT 服务器,我选择了使用EMQX。
EMQX 是一款全球下载量超千万的大规模分布式物联网 MQTT 服务器,单集群支持 1 亿物联网设备连接,消息分发时延低于 1 毫秒。为高可靠、高性能的物联网实时数据移动、处理和集成提供动力,助力企业构建关键业务的 IoT 平台与应用。
EMQ(杭州映云科技有限公司)是一家开源物联网数据基础设施软件供应商,交付全球领先的开源云原生 MQTT 消息服务器和流处理数据库,为企业云边端的海量物联网数据提供高可靠、高性能的实时连接、移动、处理与分析,助力构建「面向未来」的物联网平台与应用。
产品优势
开放源码:基于 Apache 2.0 许可证完全开源,自 2013 年起 200+ 开源版本迭代。
MQTT 5.0:100% 支持 MQTT 5.0 和 3.x 协议标准,更好的伸缩性、安全性和可靠性。
海量连接:单节点支持 500 万 MQTT 设备连接,集群可扩展至 1 亿并发 MQTT 连接。
高性能:单节点支持每秒实时接收、移动、处理与分发数百万条的 MQTT 消息。
低时延:基于 Erlang/OTP 软实时的运行时系统设计,消息分发与投递时延低于 1 毫秒。
高可用:采用 Masterless 的大规模分布式集群架构,实现系统高可用和水平扩展。
版本选择
虽然开源版本功能教少,但作为有追求的技术人员,当然选择开源版本。但是我们在阿里云中使用最为广泛的数据桥接
(阿里云功能命名:云产品流转)在开源版本里是没有的,需要自己去实现。
EMQX 开源版
大规模可弹性伸缩的云原生分布式物联网 MQTT 消息服务器,高效可靠连接海量物联网设备,高性能实时处理消息与事件流数据,助力构建关键业务的物联网平台与应用。
基于 APL 2.0 开放源码协议
完整 MQTT 3.1.0、3.1.1 和 5.0 规范,支持 MQTT-SN
Masterless 高可用集群架构
高并发、低时延、高性能
可扩展的网关和插件体系
EMQX 企业版
通过可靠、实时的物联网数据移动、处理和集成,连接您的海量物联网设备。加快您的物联网应用开发,免除基础设施管理维护负担。
全托管的 MQTT 5.0 服务
基于 SQL 的 IoT 数据集成
多种数据库与云服务集成
关键业务的高可用高可靠
在任何地方运行,随用随付
EMQX Cloud
「随处运行,无限连接,任意集成」 云原生分布式物联网接入平台,一体化的分布式 MQTT 消息服务和强大的 IoT 规则引擎,为高可靠、高性能的物联网实时数据移动、处理和集成提供动力,助力企业快速构建关键业务的 IoT 平台与应用。
标准或专有多协议支持
基于 SQL 的 IoT 数据集成
数据持久化与数据桥接
管理与监控中心
7x24 小时技术支持服务
安装部署
安装、部署、配置、调优均参照官方最新文档。这里只摘录一个 Docker 部署脚本作为笔记:
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest
管理控制台
简介
EMQX 提供了 Dashboard,以方便用户通过 Web 页面管理、监控 EMQX 并配置所需的功能。
主要功能:
监控运行中的 EMQX 集群。
查看、搜索和管理连接的客户端,甚至踢出客户端。
查看、搜索订阅与主题。
管理客户端的用户名/密码,或者配置一个外部资源来满足客户端的认证。例如数据库或认证服务器。
创建或更新数据集成规则(规则引擎),在设备和外部数据平台间提取、过滤或转换并传输数据,如另一个 MQTT 服务器,数据库或 Web 服务。
管理扩展,如网关,gRPC 以及插件。
诊断工具,如内置的 Websocket MQTT 客户端,在线日志追踪等。
启动
EMQX Dashboard 是一个 Web 应用程序,默认监听 18083 端口。EMQX 成功启动之后可以通过浏览器打开 http://localhost:18083/
(opens new window)(将 localhost 替换为实际 IP 地址)以访问 Dashboard。初始账号:admin,初始密码:public。
在不启用 Dashboard 情况下仍然可以使用 EMQX,但这可能大大影响服务的可操作性:Dashboard 可以以表单方式配置很多功能,相比手动编辑配置文件更容易上手使用。