EMQX 是一个大规模分布式 MQTT 消息服务器,可以高效可靠连接海量物联网设备,实时处理分发消息与事件流数据,助力构建关键业务的物联网与云应用。EMQX 是国内一家公司开发的,目前基本上已经做到了全球领先,本文分享一下 EMQX 在搬瓦工 VPS 上的安装教程,同样适用于其他 VPS 服务器。
一、EMQX 介绍
EMQX 是全球最具扩展性的开源 MQTT broker,具有高性能,可在 1 个集群中连接 1 亿多个 IoT 设备,同时保持每秒 100 万条消息的吞吐量和亚毫秒级的延迟。
EMQX 支持 MQTT、HTTP、QUIC、WebSocket 等多种开放标准协议。它 100% 符合 MQTT 5.0 和 3.x 标准,并通过 TLS/SSL 和各种身份验证机制确保与 MQTT 的双向通信安全。
借助内置的强大的基于 SQL 的规则引擎,EMQX 可以实时提取、过滤、丰富和转换物联网数据。此外,它通过无主分布式架构确保高可用性和水平可扩展性,并提供操作友好的用户体验和良好的可观察性。
EMQX 拥有超过 20K+ 企业用户,遍布 50 多个国家和地区,连接全球 1 亿+ IoT 设备,在物联网、工业物联网、车联网等关键任务场景中受到超过 400 家客户的信赖,其中包括 70 多家财富 500 强企业 HPE、VMware、Verifone、上汽大众和爱立信。
二、MQTT 介绍
MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎,能够实现传感器、执行器和其它设备之间的高效通信。
MQTT 所具有的适用于物联网特定需求的特点和功能,使其成为物联网领域最佳的协议之一。它的主要特点包括:
- 轻量级:物联网设备通常在处理能力、内存和能耗方面受到限制。MQTT 开销低、报文小的特点使其非常适合这些设备,因为它消耗更少的资源,即使在有限的能力下也能实现高效的通信。
- 可靠:物联网网络常常面临高延迟或连接不稳定的情况。MQTT 支持多种 QoS 等级、会话感知和持久连接,即使在困难的条件下也能保证消息的可靠传递,使其非常适合物联网应用。
- 安全通信:安全对于物联网网络至关重要,因为其经常涉及敏感数据的传输。为确保数据在传输过程中的机密性,MQTT 提供传输层安全(TLS)和安全套接层(SSL)加密功能。此外,MQTT 还通过用户名/密码凭证或客户端证书提供身份验证和授权机制,以保护网络及其资源的访问。
- 双向通信:MQTT 的发布-订阅模式为设备之间提供了无缝的双向通信方式。客户端既可以向主题发布消息,也可以订阅接收特定主题上的消息,从而实现了物联网生态系统中的高效数据交换,而无需直接将设备耦合在一起。这种模式也简化了新设备的集成,同时保证了系统易于扩展。
- 连续、有状态的会话:MQTT 提供了客户端与 Broker 之间保持有状态会话的能力,这使得系统即使在断开连接后也能记住订阅和未传递的消息。此外,客户端还可以在建立连接时指定一个保活间隔,这会促使 Broker 定期检查连接状态。如果连接中断,Broker 会储存未传递的消息(根据 QoS 级别确定),并在客户端重新连接时尝试传递它们。这个特性保证了通信的可靠性,降低了因间断性连接而导致数据丢失的风险。
- 大规模物联网设备支持:物联网系统往往涉及大量设备,需要一种能够处理大规模部署的协议。MQTT 的轻量级特性、低带宽消耗和对资源的高效利用使其成为大规模物联网应用的理想选择。通过采用发布-订阅模式,MQTT 实现了发送者和接收者的解耦,从而有效地减少了网络流量和资源使用。此外,协议对不同 QoS 等级的支持使得消息传递可以根据需求进行定制,确保在各种场景下获得最佳的性能表现。
- 语言支持:物联网系统包含使用各种编程语言开发的设备和应用。MQTT 具有广泛的语言支持,使其能够轻松与多个平台和技术进行集成,从而实现了物联网生态系统中的无缝通信和互操作性。
三、EMQX 安装教程
EMQX 安装很方便,直接使用 Docker 即可进行安装:
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest
如果想在 Mac 安装,也可以通过 homebrew:
brew install emqx emqx start
更多安装选项:https://www.emqx.io/docs/en/v5.1/deploy/install.html
四、搬瓦工 VPS 推荐
搬瓦工最推荐套餐
- 搬瓦工优惠码:BWHCGLUKKB
- 搬瓦工购买教程:《搬瓦工新手用户注册和支付宝购买图文指导教程》
方案 | 内存 | CPU | 硬盘 | 流量/月 | 带宽 | 机房 | 价格 | 购买 |
---|---|---|---|---|---|---|---|---|
KVM (最便宜) | 1GB | 2核 | 20GB | 1TB | 1Gbps | DC3 CN2 DC8 ZNET (购买后在后台迁移) | $49.99/年 | 购买 |
KVM | 2GB | 3核 | 40GB | 2TB | 1Gbps | $52.99/半年 $99.99/年 | 购买 | |
CN2 GIA-E (最推荐) | 1GB | 2核 | 20GB | 1TB | 2.5Gbps | DC6 CN2 GIA-E DC9 CN2 GIA 日本软银 JPOS_1 荷兰联通 EUNL_9 加拿大 CN2 GIA | $49.99/季度 $169.99/年 | 购买 |
CN2 GIA-E | 2GB | 3核 | 40GB | 2TB | 2.5Gbps | $89.99/季度 $299.99/年 | 购买 | |
HK | 2GB | 2核 | 40GB | 0.5TB | 1Gbps | 中国香港 CN2 GIA 新加坡 CN2 GIA 日本东京 CN2 GIA 日本大阪 CN2 GIA | $89.99/月 $899.99/年 | 购买 |
HK | 4GB | 4核 | 80GB | 1TB | 1Gbps | $155.99/月 $1559.99/年 | 购买 | |
OSAKA | 2GB | 2核 | 40GB | 0.5TB | 1.5Gbps | 日本大阪 CN2 GIA | $49.99/月 $499.99/年 | 购买 |
OSAKA | 4GB | 4核 | 80GB | 1TB | 1.5Gbps | $86.99/月 $869.99/年 | 购买 |
选择建议:
- 入门:洛杉矶 CN2 套餐,目前最便宜,可选 DC3 CN2/DC8 ZNET 等机房,CN2 GT 线路,入门之选。
- 推荐:洛杉矶 CN2 GIA-E 套餐,速度超快,可选 DC6 CN2 GIA-E/DC9 CN2 GIA/日本软银 JPOS_1/联通荷兰 EUNL_9 等机房,性价比最高。
- 高端:香港 CN2 GIA 套餐/东京 CN2 GIA 套餐,价格较高,但是速度、延迟、丢包等方面无可挑剔。
搬瓦工优惠通知
- 搬瓦工最新消息通知 QQ 群:250754021
- 搬瓦工库存监控:https://kucun.banwagongcn.com
- 搬瓦工补货通知微信号:bwgvps