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

目录
相关文章
|
3月前
|
消息中间件 SQL 分布式计算
大数据-64 Kafka 高级特性 分区Partition 分区重新分配 实机实测重分配
大数据-64 Kafka 高级特性 分区Partition 分区重新分配 实机实测重分配
124 7
|
3月前
|
消息中间件 SQL 分布式计算
大数据-74 Kafka 高级特性 稳定性 - 控制器、可靠性 副本复制、失效副本、副本滞后 多图一篇详解
大数据-74 Kafka 高级特性 稳定性 - 控制器、可靠性 副本复制、失效副本、副本滞后 多图一篇详解
30 2
|
6月前
|
运维 关系型数据库 分布式数据库
PolarDB产品使用问题之将部分表设置为压缩表,是否会对节点的整体性能影响
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
6月前
|
存储 弹性计算 负载均衡
中间件冗余部署集群(Clustering)
【7月更文挑战第22天】
119 3
|
6月前
|
SQL 分布式计算 MaxCompute
云架构数据倾斜问题之排序优化中的CLUSTER BY如何解决
云架构数据倾斜问题之排序优化中的CLUSTER BY如何解决
|
8月前
|
存储 监控 数据可视化
如何在实施OLAP分区时平衡各个分区的数据量和查询负载?
【5月更文挑战第14天】如何在实施OLAP分区时平衡各个分区的数据量和查询负载?
50 0
|
8月前
|
存储 关系型数据库 MySQL
美柚:消息2.0引入PolarDB-M支撑大表并发和存储
美柚旗下的移动互联网软件包括美柚、宝宝记、柚子街等丰富的产品矩阵,为广大女性用户提供全面的健康管理、知识科普、线上购物、互联网医疗等服务。
|
存储 SQL 数据库
「内存数据库」调整插入和数据负载的HANA性能
「内存数据库」调整插入和数据负载的HANA性能
|
资源调度 Kubernetes Cloud Native
Koordinator 一周年,新版本 v1.2.0 支持节点资源预留,兼容社区重调度策略
Koordinator 一周年,新版本 v1.2.0 支持节点资源预留,兼容社区重调度策略
|
8月前
|
存储 关系型数据库 分布式数据库
PolarDB 开源版 使用TimescaleDB 实现时序数据高速写入、压缩、实时聚合计算、自动老化等
背景PolarDB 的云原生存算分离架构, 具备低廉的数据存储、高效扩展弹性、高速多机并行计算能力、高速数据搜索和处理; PolarDB与计算算法结合, 将实现双剑合璧, 推动业务数据的价值产出, 将数据变成生产力.本文将介绍PolarDB 开源版 使用TimescaleDB 实现时序数据高速写入、...
431 0

热门文章

最新文章