在行将到来的 v4.2 版本中,EMQ X 企业版 提供了 模块 性能,用于代替之前的 * 插件 *。该版本之后插件将置于长期保护状态,不再新增性能。
为什么采纳新的模块性能
同插件一样,模块 用于 EMQ X 的性能扩大,与插件不同的是,模块联合 EMQ X 分布式集群特点,解决了插件开发、应用中的各种痛点:
- 插件配置文件难以保护:插件是基于节点的,EMQ X 集群部署时每个节点本地都有一份插件配置文件,配置文件只能在本地通过文件批改,而在模块中,配置项的变更是集群同步的。
- 插件配置上手难度高:模块通过 Dashboard 提供了可视化配置,升高上手难度;局部配置项反对热更新,比方用户能够不便地增加 MQTT-SN 监听端口、更改认证 SQL 语句。
- 插件停启操作不不便:集群中应用 API 与 CLI 停启插件时只能一一节点进行操作,如果操作有脱漏,极有可能引发生产事变。
- 版本升级艰难:EMQ X 插件数量与配置项比拟多,跨版本升级时如果插件配置项有变动,降级会有肯定的艰难;模块的配置项易于程序读写和人工保护,EMQ X 后续能够提供降级迁徙相干的自动化工具,升高版本升级难度。
模块 将 EMQ X 的易用性晋升了一个台阶,通过模块用户可能更快地将业务与物联网设施同 EMQ X 进行集成,缩短研发周期,升高学习、开发与保护难度。
模块概览
EMQ X 模块依照性能组织,分为以下几类:
认证鉴权
客户端连贯到 EMQ X、公布 / 订阅主题的时候能够应用认证鉴权模块进行身份与权限验证。
认证鉴权模块反对文件、内置数据库、JWT、内部支流数据库和自定义 HTTP API 等数据源,反对动静更改认证逻辑(如查问 SQL),动静增加、删除认证链。
协定接入
除了规范 MQTT 协定(残缺 QoS 与 MQTT 5.0 反对),EMQ X 还扩大了一系列的物联网协定,反对的协定包含 MQTT-SN、CoAP/LwM2M、HTTP、WebSocket、STOMP、公有 TCP、JT/T808 行业协定等。
在协定接入相干模块中,用户可能疾速启用须要的扩大协定,动静增改协定的监听端口,以及协定与 MQTT 主题的挂载关系。
音讯下发
服务端下发指令到设施是物联网利用中罕用的场景,EMQ X 提供多种音讯下发形式,针对上行流量较大的我的项目,用户能够应用音讯下发模块配置生产 Kafka 或 Pulsar 进行音讯下发,模块可能不便地配置数据源以及 Kafka-MQTT、Pulsar-MQTT 的主题映射关系,实现高吞吐、事务级的服务端音讯下发。
多语言扩大
蕴含 Python 与 Java 的扩大反对,开发者能够应用 Python 或者 Java 疾速开发本人的插件,在官网性能的根底上进行扩大,满足本人的业务场景。
多语言扩大中蕴含两个模块,exproto 模块用于协定扩大,能够应用 Java/Python 驱动实现特定的协定反对,exhook 模块基于 EMQ X 钩子,用户可应用 Python 和 Java 间接解决 EMQ X 各类事件,实现设施高低线、认证、ACL 规定管制,音讯桥接和长久化等性能。
运维监控
EMQ X 提供 Prometheus Agent 模块,用于将 EMQ X 运行指标及 Erlang 虚拟机状态数据输入到第三方的监控如 Prometheus 中。通过 Prometheus 自带的 node-exporter 还能够采集 Linux 服务器相干指标,实现服务器 + EMQ X 整体运维监控。
此外,运维监控还蕴含代码热加载、性能调试模块,借助两个模块能够很不便地进行测试调优,服务器调整。
外部模块
现版本有 6 个外部模块,次要围绕 MQTT 协定应用进行性能拓展:
MQTT 加强认证
基于更强的安全性思考,MQTT v5 减少了新个性 加强认证,加强认证蕴含质询 / 响应格调的认证,能够实现对客户端和服务器的双向认证,服务器能够验证连贯的客户端是否是真正的客户端,客户端也能够验证连贯的服务器是否是真正的服务器,从而提供了更高的安全性。
加强认证依赖于认证办法和认证数据来实现整个认证过程,在加强认证中,认证办法通常为 SASL(Simple Authentication and Security Layer ) 机制,应用一个注册过的名称便于信息替换。然而,认证办法不限于应用已注册的 SASL 机制,服务器和客户端能够约定应用任何质询 / 响应格调的认证。
高低线告诉
启用该模块后,客户端高低线时将在零碎主题上公布一条告诉音讯,订阅相应的主题即可获取高低线客户端事件与客户端信息。
Webhook 插件、规定引擎同样反对设施高低线事件处理,用户能够依据本人的须要抉择不同的形式进行业务开发集成。
MQTT 代理订阅
该模块能够配置代理订阅信息,模块启用后,EMQ X 将在客户端连贯胜利时主动订阅模块配置的主题,无需客户端被动发动订阅。
主题重写
该模块能够配置重写规定,在客户端公布 / 订阅主题时将指标主题依照规定重写为新的主题。
EMQ X 的 保留音讯 和 提早公布 能够与主题重写配合应用,例如,当用户想应用提早公布性能,但不不便批改客户端公布的主题时,能够应用主题重写将相干主题重写为提早公布的主题格局。
MQTT 保留音讯
用于 EMQ X 中 MQTT 保留音讯的治理,能够配置存储地位、有效期、音讯大小等参数。禁用此模块且没有启用其余保留音讯性能,EMQ X 将不反对保留音讯。
提早公布
EMQ X 的提早公布性能能够实现依照用户配置的工夫距离提早公布 PUBLISH 报文的性能。当客户端应用非凡主题前缀 $delayed/{DelayInteval}
公布音讯到 EMQ X 时,将触发提早公布性能。
该版本将于近期公布,敬请期待。
版权申明:本文为 EMQ 原创,转载请注明出处。
原文链接:https://www.emqx.io/cn/blog/emqx-enterprise-v-4-2-module-features