EMQX Enterprise 4.4.12&4.4.13 发布:集群负载重平衡、TDengine 3.0 适配以及子表批量插入

简介: EMQX Enterprise 4.4.12与4.4.13版本发布:集群负载重平衡与节点疏散功能为运维人员提供更灵活的集群管理方式,适配TDengine 3.0版本并新增分表批量插入功能,以提供更高的数据集成吞吐。

我们很高兴地告诉大家,EMQX Enterprise 4.4.12 以及 4.4.13 版本正式发布!

在本次发布中,我们带来了集群负载重平衡与节点疏散功能为运维人员提供更灵活的集群管理方式,适配了 TDengine 3.0 版本并新增分表批量插入功能,以提供更高的数据集成吞吐。除此之外,我们还修复了多项缺陷。

集群负载重平衡与节点疏散

MQTT 作为有状态的长连接接入协议,在生产环境下 EMQX 集群运维不可避免的会遇到一些困难。

一方面,在跨版本升级、垂直或水平扩展时要求关闭 EMQX 节点,这会导致节点上所有连接几乎同时断开并重连,增加了集群过载的风险,与此同时非持久会话也将在节点关闭时丢失。另一方面,长连接一旦建立就不会轻易断开,新加入集群或重新启动的节点会长时间处于负载不足的状态。

为解决以上困难,集群负载重平衡与节点疏散应运而生。

节点疏散功能允许用户在关闭节点之前强制将连接和会话迁移到其他节点,以避免节点关闭带来的会话数据丢失。

启用节点疏散后,当前节点将停止接受 MQTT 新连接,并将所有连接及会话转移到指定节点,在此过程中客户端通过重连或 MQTT 5.0 Server redirection 机制,经历短暂的断开后会迅速连接到新节点。

为确保短时间内的大规模重连导致集群负载过高,EMQX 允许设置疏散速度参数,在可控的范围内平稳地完成这一操作。

集群负载重平衡基于节点疏散,通过手动的方式,控制将部分连接从负载较高的节点疏散到负载较低的节点,从而达成整个集群的负载平衡。

节点疏散流程.png

集群负载重平衡与节点疏散能够确保所有节点以良好的负载工作,并大大降低 EMQX 维护工作对在线客户端以及客户业务的影响,详细的使用方式请参阅 EMQX 文档,目前这一功能已经被整合至 EMQX Operator 中以为 EMQX 的 K8s 自动化部署带来更好的使用体验。

TDengine 3.0 适配以及子表批量插入

TDengine 3.0 带来了大量的架构重构和功能新增,提供了更好的性能和更多灵活易用的功能。在 TDengine 3.0 中,EMQX 依赖的数据写入接口也做了相应的调整导致无法正确写入数据。

本次发布我们对这一变更进行了无缝适配,现有的规则与资源无需修改即可支持 TDengine 3.0 版本。

在版本适配的同时,我们还加入了 TDengine 子表 批量插入能力,通过批量机制提供更高的吞吐性能,性能测试数据表明,预先创建好子表的情况下,单个 EMQX 节点可以支持每秒 10 万 QoS 1、Payload 100B 的消息写入 TDengine。

BUG 修复

以下是主要 BUG 修复,完整 BUG 修复列表请参考 EMQX 企业版 4.4.12 更新日志EMQX 企业版 4.4.13 更新日志

  • 修复 GCP PubSub 集成测试连接时可能的内存泄露以及 JWT 令牌二次刷新问题。
  • 为修复 Kafka 集成的连接问题,为 Kafka 资源 SSL 连接配置增加 SNI 字段,能够方便的连接到诸如 Confluent Cloud 等启用了 TLS 且集群部署的 Kafka 资源中。
  • 修复备份配置下载时错误,以及导入时不会在集群所有节点上生效的问题。
  • 修复 RocketMQ 认证失败问题,该错误导致 EMQX 无法连接到由阿里云提供的 RocketMQ 服务。
  • 为 Kafka 与 Pulsar 动作参数添加检查,确保 Segment Bytes 不会超过 Max Bytes。
  • 修复 Dashboard 用户验证问题,通过 Dashboard 创建用户时,要求密码格式为字母、数字、中划线与下划线,必须以字母或数字开头(^[A-Za-z0-9]+[A-Za-z0-9-_]*$)。
  • 持久会话的 MQTT 客户端重新连接 EMQX 之后,未确认的 QoS1/QoS2 消息不再周期性重发,该行为符合协议规范。 在此之前由 znone.<zone-name>.retry_interval 配置指定该消息的重发间隔(默认为 30s),但当持久会话的 MQTT 客户端重新连接 EMQX 之后,EMQX 只会将队列中缓存的未被确认的消息重发一次而不是按配置的时间间隔重试。
  • 修复持久会话的 MQTT 客户端断开连接之后,已经过期的 awaiting_rel 队列不会清除问题。 在这个改动之前,在客户端重连并且发布 QoS2 消息的时候,如果 awaiting_rel 队列已满,此客户端会被服务器以 RC_RECEIVE_MAXIMUM_EXCEEDED(0x93) 错误码断开连接,即使这时候 awaiting_rel 队列里面的报文 ID 已经过期了。
版权声明: 本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/emqx-enterprise-v-4-4-13-released

目录
相关文章
|
存储 Kubernetes Cloud Native
一文读懂容器存储接口 CSI
在《一文读懂 K8s 持久化存储流程》一文我们重点介绍了 K8s 内部的存储流程,以及 PV、PVC、StorageClass、Kubelet 等之间的调用关系。接下来本文将将重点放在 CSI(Container Storage Interface)容器存储接口上,探究什么是 CSI 及其内部工作原理。
一文读懂容器存储接口 CSI
|
2月前
|
消息中间件 Dubbo 网络协议
2026性能测试选型指南:4款多协议压测平台实测对比,告别工具切换焦虑!
2026年多协议性能测试面临HTTP、MQTT、Dubbo、MQ等混用难题。本文对比泽众POne(一站式易用)、JMeter(插件灵活但运维重)、开源工具(免费基础)及商业专家(协议全但部署复杂)四类方案,强调“没有完美工具,只有最优匹配”,助力团队按协议需求、技术栈与预算精准选型。(239字)
|
人工智能 监控 容灾
AI训练师入行指南(六):模型部署
本文以“智能珠宝”为喻,探讨了模型从实验室到实际应用的全过程。首先通过格式转换(如ONNX、TensorRT)和容器化(Docker)实现模型打包与高效部署;接着构建服务化接口(RESTful API、边缘计算),让模型像24小时珠宝店一样随时响应需求。同时,强调性能监控、异常检测和容灾方案的重要性,确保系统稳定运行。最后通过A/B测试、用户行为分析及人机协作持续优化模型效果。总结指出,模型部署只是开始,需不断调整和维护,才能让“智能珠宝”在真实场景中持续闪耀。
568 7
|
机器学习/深度学习 监控 算法
车辆违停检测:基于计算机视觉与深度学习的自动化解决方案
随着智能交通技术的发展,传统人工交通执法方式已难以满足现代城市需求,尤其是在违法停车监控与处罚方面。本文介绍了一种基于计算机视觉和深度学习的车辆违停检测系统,该系统能自动监测、识别并报警违法停车行为,大幅提高交通管理效率,降低人力成本。通过使用YOLO算法进行车辆检测,结合区域分析判断车辆是否处于禁停区,实现了从车辆识别到违停判定的全流程自动化。此系统不仅提升了交通管理的智能化水平,也为维护城市交通秩序提供了技术支持。
|
JavaScript
vue3中watch的用法及讲解
vue3中watch的用法及讲解
|
canal 存储 关系型数据库
数据异构重器之 Canal 初探
数据异构重器之 Canal 初探
数据异构重器之 Canal 初探
|
数据采集 前端开发 JavaScript
Java网络爬虫实践:解析微信公众号页面的技巧
Java网络爬虫实践:解析微信公众号页面的技巧
|
弹性计算 并行计算 云栖大会
新品发布|HPC优化实例助力工业制造、生命科学和 EDA 应用加速创新
2023年云栖大会,阿里云弹性计算面向工业仿真、生命科学和芯片设计等行业,阿里云发布了HPC优化实例系列新品,包括内存带宽优化实例hpc8ae、数据和内存优化实例hpc7ip和计算优化实例hpc8y,全面采用物理核,与通用计算实例相比性能提升40%。
|
存储 缓存 安全
【Linux】进程通信之管道通信详解
【Linux】进程通信之管道通信详解
1388 2
|
存储 机器学习/深度学习 人工智能
基于 阿里云 ACK 搭建开源向量数据库 Milvus
生成式 AI(Generative AI)引爆了向量数据库(Vector Database)市场,基于大模型的各种应用场景会需要使用到向量数据库。 其中,Milvus 是一个高度灵活、可靠且速度极快的云原生开源向量数据库。它为 embedding 相似性搜索和 AI 应用程序提供支持,并努力使每个组织都可以访问向量数据库。 Milvus 可以存储、索引和管理由深度神经网络和其他机器学习(ML)模型生成的十亿级别以上的 embedding 向量。 本文介绍在阿里云ACK上部署Milvus并且通过attu访问的步骤。
4715 0