引言:统一管理的网关框架
作为一款大规模分布式物联网 MQTT 消息服务器,EMQX 除了完整支持 MQTT 3.x 和 5.0,还支持 STOMP、MQTT-SN、LwM2M/CoAP,JT/T 808 等多种主流协议接入。不仅提供了广泛的连接能力,以处理适用于各类场景的物联网设备;还为后端的物联网管理服务提供了统一接入平台和管理接口,以降低异构协议间的适配成本。
在最新发布的 EMQX 5.0 中,我们重构了多协议接入的底层架构,统一了配置格式和管理接口,提供了一个全新的扩展网关框架。同时规范了各类网关的实现,使得各个网关功能定义更为清晰。
本文将对 EMQX 5.0 全新的网关框架及功能使用进行详细解读,帮助读者更好地利用 EMQX 强大的多协议接入支持能力连接各类协议设备,满足更多物联网场景的数据接入需求。
EMQX 网关框架概述
由于设备的接入协议种类繁多,各个协议对连接登录、消息传输等拥有不同定义,这通常要求服务端部署各种协议的接入服务,导致软件和维护的成本急剧上升。EMQX 自发布以来就提供了多协议接入的支持,来屏蔽接入层协议的异构,以降低用户的开发和运营成本。
在 5.0 版本之前,EMQX 的多协议支持通过发布各类协议的接入插件来实现,这些独立的插件之间缺乏统一的定义和标准,相对来说有一定的使用难度。
为了给用户带来更加便捷易用的多协议支持,EMQX 5.0 对整个多协议接入架构进行了重构。所有非 MQTT 协议的接入都被统称为网关(Gateway)。所有网关由一个统一的框架提供通用操作的支持,包括:
- 统一的用户层接口: 该框架提供了风格统一的配置文件、HTTP API 和命令行接口。以监听器参数配置为例,4.x 版本中不同协议插件对于监听器暴露的参数各不相同,而在 5.0 版本中这些参数的风格都将是统一的。
- 统一的统计和监控指标: 提供了网关和客户端级别的统计指标,例如收发字节数、消息等。
- 独立的连接和会话管理: 每个网关都有在自己的客户端管理页面,且不同的网关允许使用相同的 Client ID ,而不是像 4.x 版本一样都混合在 MQTT 客户端列表中进行管理。
- 独立的客户端认证: 支持为每个网关配置独立的认证,不再像 4.x 像一样与 MQTT 客户端认证混合在一起。
- 易扩展和规格清晰化: 框架抽象了一套标准的概念和接口使自定义网关变得更加容易。

每个网关内的实现,和之前类似:
- 监听器: 每个网关可以启动多个监听器来接受客户端的网络请求,监听器类型支持 TCP、SSL、UDP、DTLS。每类网关支持的监听器类型各有不同。
- 报文解析: 每个网关都有属于自己的报文解析模块,负责处理该协议的报文。
- 连接/会话: 负责创建连接、会话,并处理协议中定义的各种行为,例如登录认证、消息收发等。
- 消息模型转换: 负责处理本网关与 MQTT PUB/SUB 消息模型的兼容。例如,将 LwM

EMQX5.0重构了多协议接入架构,引入统一网关框架,提供统一配置、统计监控、连接管理等,支持MQTT、STOMP、LwM2M等多种协议。新框架规范了网关实现,简化了扩展和管理,增强了认证和消息模型转换功能,提高了物联网场景的设备接入效率。
最低0.47元/天 解锁文章
260

被折叠的 条评论
为什么被折叠?



