EMQX v4.4.5 发布:新增排他订阅及 MQTT 5.0 发布属性支持

简介: EMQX此次发布实现了与流数据库HStreamDB的集成,提供一站式数据接入与实时处理分析,新增排他订阅功能等帮助用户应对更多场景使用需求。

近日,EMQX 开源版 v4.3.16、开源版 v4.4.5 与企业版 v4.3.11、企业版 v4.4.5 四个维护版本正式发布。

此次发布实现了与流数据库 HStreamDB 的集成,提供一站式数据接入与实时处理分析。新增了排他订阅功能和规则引擎消息重发布时动态 QoS 与保留消息设置支持,同时支持在消息发布的 API 中设置 MQTT 5.0 的发布属性(PUBLISH Properties),帮助用户应对更多场景使用需求。此外还修复了多项已知 BUG。

欢迎下载使用:https://www.emqx.com/zh/try?product=enterprise

规则引擎新功能

集成 HStreamDB,一站式数据接入、存储与分析

包含版本 企业版 v4.3.11 企业版 v4.4.5

HStreamDB 是一款为物联网数据存储和实时处理而生的流数据库。它使用标准 SQL (及其流式拓展)作为主要接口语言,以实时性作为主要特征,集实时数据采集和捕获系统、实时数据存储系统、流计算引擎、下游的数据和应用系统于一体,旨在简化数据流的运维管理以及实时应用的开发。

规则引擎现已支持将 EMQX 的数据持久化到 HStreamDB,从而实现对这些数据的实时处理分析与洞察。性能测试中,EMQX 在 32 核 64GB 配置下可以稳定支持 8 万连接、每秒 8 万 QoS 0、Payload 4KB 的消息持久化至 HStreamDB,集成使用方式请参照文档

EMQX-HStreamDB XMeter 性能测试报告.png

EMQX-HStreamDB XMeter 性能测试报告

消息重发布动作支持保留消息与动态 QoS

包含版本 开源版 v4.3.16 开源版 v4.4.5 企业版 v4.3.11 企业版 v4.4.5

我们在消息重发布功能中引入保留消息和动态 QoS 支持,以满足用户特定的场景下的需求。其中保留消息需求来源于 EMQX 问答社区,旨在将客户端最新状态通过保留消息存储到 EMQX 中以便后续处理。

EMQX Dashboard.png

新增排他订阅功能

包含版本 开源版 v4.3.16 开源版 v4.4.5 企业版 v4.3.11 企业版 v4.4.5

排他订阅只允许单个订阅者订阅某个主题,使用排他订阅时,可以轻松实现「某些数据同时只能被一个订阅者处理」这类业务。

排他订阅的使用与共享订阅十分相似,使用特定的主题前缀 $exclusive 表明这是一个排他订阅,某个客户端订阅成功后,新的客户端将无法再次订阅相同主题。

排他订阅默认关闭,需要在此配置项中开启:

mqtt.exclusive_subscription = true

排他订阅生效示例:

// 成功
clientA.subscribe('$exclusive/t/1')

// 失败,该主题已有订阅者
clientB.subscribe('$exclusive/t/1')

// 成功,不带前缀的普通主题仍然可以成功订阅
clientC.subscribe('t/1')

// 需要携带前缀以取消订阅
clientA.unsubscribe('$exclusive/t/1')
// 成功
clientB.subscribe('$exclusive/t/1')

消息发布 API 支持设置 MQTT 5.0 发布属性(PUBLISH Properties)

包含版本 开源版 v4.4.5 企业版 v4.4.5

MQTT 5.0 支持在消息发布时设置额外的属性如消息过期间隔主题别名用户属性等,新版本中用户可以在消息发布 API 中使用此特性,以满足更多业务需求。

以下是包含发布属性的消息发布示例:

curl -i --basic -u admin:public -X POST "http://localhost:8081/api/v4/mqtt/publish" -d \
'{
  "topic":"t/1",
  "payload":"Hello World",
  "qos":1,
  "retain":false,
  "clientid":"emqx_c",
  "properties": {
    "user_properties": { "id": 10010, "name": "emqx", "foo": "bar"},
    "content_type": "text/plain",
    "message_expiry_interval": 3600
  }
}'

更多功能优化

  • 支持通过 CLI 一键更新集群 License
  • Dashboard 和管理 API 的 HTTPS 监听器可以使用受密码保护的私钥文件,提供了 key_password 配置项
  • 支持在主题重写规则中使用占位符 %u%c
  • 优化规则引擎资源创建时的 UI,例如折叠部分不常用的选项等
  • 为 ExHook 底层的 gRPC 连接开放了 KeepAlive、TCP_NODELAY、SO_RCVBUF 和 SO_SNDBUF 共 4 个与 TCP 相关的配置项

BUG 修复

各版本 BUG 修复详情请查看:

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
EMQ
|
5月前
|
传感器 人工智能 安全
EMQX 与 MQTT: AI 大模型时代的分布式数据中枢
在以数据为核心的 AI 时代,基于 MQTT 协议的消息服务器 EMQX 能帮助企业更好的利用人工智能和机器学习模型,是智能化系统中核心的数据基础软件。
EMQ
252 16
|
7月前
|
Ubuntu 网络安全 Windows
ubuntu16.04版本安装emqx的mqtt服务
ubuntu16.04版本安装emqx的mqtt服务
|
传感器 物联网 数据处理
MQTT 和 EMQX到底有啥区别?
MQTT 和 EMQX到底有啥区别?
1480 3
MQTT 和 EMQX到底有啥区别?
EMQ
|
Kubernetes Cloud Native 物联网
在 Kubernetes 上体验 EMQX 5.0 的 MQTT over QUIC 特性
本文将介绍如何在 Kubernetes 上部署 EMQX 集群并开启 MQTT over QUIC 功能。
EMQ
159 0
在 Kubernetes 上体验 EMQX 5.0 的 MQTT over QUIC 特性
|
消息中间件 存储 算法
RabbitMQ之Queue(队列)属性解读
RabbitMQ之Queue(队列)属性解读
|
消息中间件 存储 Java
RabbitMQ之Exchange(交换机)属性及备用交换机解读
RabbitMQ之Exchange(交换机)属性及备用交换机解读
EMQ
|
监控 安全 数据可视化
EMQX Enterprise 5.1 正式发布:生产环境就绪的 MQTT over QUIC、基于 MQTT 的文件传输支持
EMQX Enterprise 5.1 单集群可达 1 亿客户端连接;创新性地引入 MQTT over QUIC 协议;同时提供了 MQTT 大文件传输能力以及可视化数据集成能力。
EMQ
261 0
EMQX Enterprise 5.1 正式发布:生产环境就绪的 MQTT over QUIC、基于 MQTT 的文件传输支持
EMQ
|
机器学习/深度学习 传感器 存储
基于 EMQX 和 Neuron 的工业物联网 MQTT Sparkplug 解决方案
在本文中,我们将使用开源分布式 MQTT Broker EMQX,以及边缘工业协议网关软件 Neuron,来构建一个可扩展和稳健的平台,用于实现 Sparkplug 解决方案。
EMQ
202 0
基于 EMQX 和 Neuron 的工业物联网 MQTT Sparkplug 解决方案
EMQ
|
JSON 负载均衡 物联网
使用 Terraform 在 GCP 上一键部署 EMQX MQTT Broker
本文将指导您如何设置 GCP 项目、创建服务账户、编写 Terraform 配置文件,实现在 GCP 上轻松部署 EMQX MQTT Broker。
EMQ
165 0
使用 Terraform 在 GCP 上一键部署 EMQX MQTT Broker
|
消息中间件 存储 物联网
「物联网技术」EMQX 的MQTT 和 Kafka 对比
「物联网技术」EMQX 的MQTT 和 Kafka 对比