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

目录
相关文章
|
18天前
|
SQL 存储 JSON
阿里云数据库 SelectDB 内核 Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%
亲爱的社区小伙伴们,Apache Doris 2.1.0 版本已于 2024 年 3 月 8 日正式发布,新版本开箱盲测性能大幅优化,在复杂查询性能方面提升100%,新增Arrow Flight接口加速数据读取千倍,支持半结构化数据类型与分析函数。异步多表物化视图优化查询并助力仓库分层建模。引入自增列、自动分区等存储优化,提升实时写入效率。Workload Group 资源隔离强化及运行时监控功能升级,保障多负载场景下的稳定性。新版本已经上线,欢迎大家下载使用!
阿里云数据库 SelectDB 内核 Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%
|
9月前
|
存储 SQL 关系型数据库
TiDB亿级数据亚秒响应查询整体架构
TiDB亿级数据亚秒响应查询整体架构
650 0
|
18天前
|
SQL canal 运维
MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型
MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型
|
API 容器 Kubernetes
当 K8s 集群达到万级规模,阿里巴巴如何解决系统各组件性能问题?
作者 | 阿里云容器平台高级技术专家 曾凡松(逐灵) 本文主要介绍阿里巴巴在大规模生产环境中落地 Kubernetes 的过程中,在集群规模上遇到的典型问题以及对应的解决方案,内容包含对 etcd、kube-apiserver、kube-controller 的若干性能及稳定性增强,这些关键的增强是阿里巴巴内部上万节点的 Kubernetes 集群能够平稳支撑 2019 年天猫 618 大促的关键所在。
|
8月前
|
NoSQL Redis
114分布式电商项目 - Redis集群(节点增加删除)
114分布式电商项目 - Redis集群(节点增加删除)
29 1
|
存储 SQL 数据库
「内存数据库」调整插入和数据负载的HANA性能
「内存数据库」调整插入和数据负载的HANA性能
|
资源调度 Kubernetes Cloud Native
Koordinator 一周年,新版本 v1.2.0 支持节点资源预留,兼容社区重调度策略
Koordinator 一周年,新版本 v1.2.0 支持节点资源预留,兼容社区重调度策略
|
SQL 存储 Oracle
Seata 1.6.0 正式发布,大幅度提升存储性能
主要新增特性:支持 oracle 和 pgsql 多主键;支持 seata-server 服务注册多注册中心;支持 dubbo3;支持 jdk17;扩展 update join 语法支持;扩展多种 oracle timestamp 类型;支持 ARM64 镜像。大幅度提升基于 DB 的存储性能。
Seata 1.6.0 正式发布,大幅度提升存储性能
|
消息中间件 运维 算法
【kafka思考】最小成本的扩缩容副本设计方案
在这篇文章开始前,你需要先了解 【kafka源码】kafka分区副本的分配规则 从【kafka源码】kafka分区副本的分配规则 中我们已经知道了,如何分区副本是如何进行分配的 那么当我们想要批量进行副本扩缩的时候, 如果按照之前 --generate的重新计算分配方式来做的话, 那么这个数据迁移量是非常大的; 很有可能大部分的副本都有变动(牵一发而动全身) 那么我们有没有什么方式能够尽量减少这种变动吗, 根据这个目标,我们本篇文章就好好思考一下设计方案
【kafka思考】最小成本的扩缩容副本设计方案
EMQ
|
SQL 存储 运维
HStreamDB Newsletter 2022-08|端到端压缩提升读写性能、HStream Cloud 即将上线
八月主要新增了端到端压缩、CLI支持TLS等功能,并修复了多项已知问题,同时新的Haskell gRPC框架以及云原生的全托管流数据库服务HStream Cloud也正在开发中。
EMQ
116 0

热门文章

最新文章