EMQX 优化,集群负载重平衡提供更好的运维实践


12 月 EMQX 开源版企业版对稳定性和部分功能进行了优化提升,同时提供了 TDengine 的新版本适配,帮助用户基于 EMQX 拓展更多可能。

云服务方面,EMQX Cloud 数据集成新增支持 Google Pub/Sub,为使用 GCP 其他数据服务的用户提供了便利。此外,EMQX Operator 2.1 即将发布,通过 EMQX 节点疏散能力在 Kubernetes 上实现了可控、平滑的优雅升级。

EMQX

12 月 EMQX 开源版发布了 v5.0.12,更新了 Dashboard 1.1.3 版本。企业版即将发布 v4.3.18 以及 v4.4.12,提供集群负载重平衡与节点疏散、TDengine 3.0 适配、字表批量插入等多个新功能。

同时,我们在 v4.4 以及 v5.0 中提供了适用于 Apple M1/M2(macOS-12)以及 Amazon Linux 2 的软件包。

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

集群负载重平衡与节点疏散包含在企业版 v4.4.12 中,它允许用户在集群负载不平衡时重新分配每个节点的连接,亦或是因维护关闭节点之前强制将连接和会话迁移到其他节点,以避免因此带来的会话数据丢失。

启用节点疏散后,当前节点将停止接受 MQTT 新连接,并将所有连接及会话转移到指定节点,在此过程中客户端通过重连机制,经历短暂的断开后会迅速连接到新节点,绝大多数 MQTT 客户端库都实现了这一机制。

节点重平衡可以看做是不完全的节点疏散,它允许将部分连接从负载较高的节点迁移到负载较低的节点时间集群负载均衡。

为避免短时间内的大规模重连导致 EMQX 负载过高,EMQX 支持参数化地设置疏散速度,以确保这一过程平稳地进行。

集群负载重平衡与节点疏散提供了灵活可控的运维实践,能够大大降低 EMQX 负载状态不均衡以及维护工作对业务的影响,详细的使用方式请参阅 EMQX 文档,目前这一功能已经被整合至 EMQX Operator 中以为 EMQX 的 K8s 自动化部署带来更好的使用体验。

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

TDengine 3.0 进行了大量的架构重构和功能新增,提供了更好的性能和更多灵活易用的功能。在该版本中,EMQX 依赖的数据写入接口发生了一些不兼容的变化导致 EMQX 无法继续正确写入数据。

本次发布我们对这一变更进行了无缝适配,您无需修改规则引擎即可升级到 TDengine 3.0 版本。

在版本适配的同时,我们还加入了 TDengine 子表批量插入能力,您可以借助批量机制实现更高的吞吐性能,经测试 EMQX 单节点上可以达到每秒 10 万的插入速度。

功能增强

  • 提高了 EMQX 5.0 中保留消息写入性能。

  • 在 EMQX 5.0 中增加禁用全局 GC 的配置项 node.global_gc_interval = disabled,禁用后可以提高消息吞吐,避免海量连接下因全局 GC 对业务产生波动,但相应地内存占用会更高。

  • 在 EMQX 5.0 中删除非标准共享订阅主题前缀 $queue 的支持,共享订阅现在是 MQTT 规范的一部分。改用 $share 前缀。

  • 重构了 MQTT 5.0 数据集成 MQTT Bridge,现在您可以在一个 MQTT Bridge 中实现消息的流入(ingress)和流出(egress)桥接。

  • 为主题重写模块增加主题合法性检查,带有通配符的目标主题不允许被创建。

  • 在 EMQX 4.3 中增加对 Kafka 资源配置字段的合法性检查,避免创建时传入错误的字符串导致运行时出现错误。

问题修复

我们修复了多个已知 BUG,包括潜在的 MQTT 数据包解析错误、RocketMQ 集成认证功能无法正常工作、已过期 awaiting_rel 队列不会清除以及备份数据无法正确导入导出的问题。

EMQX Cloud

数据集成支持 Google Pub/Sub

Google Cloud Pub/Sub 是一种异步消息传递服务,旨在实现极高的可靠性和可扩缩性。

现在,您可以通过 EMQX Cloud 规则引擎的 GCP Pub/Sub 集成能力,快速建立与该服务的连接,基于 GCP 构建物联网应用:

  • 使用 Google 的流式分析处理物联网数据:以 Pub/Sub 以及 Dataflow 和 BigQuery 为基础而构建整体解决方案,实时提取、处理和分析源源不断的 MQTT 数据,基于物联网数据发掘更多业务价值。

  • 异步微服务集成:将 Pub/Sub 作为消息传递中间件,通过 pull 的方式与后台业务集成;也可以推送订阅到 Google Cloud 各类服务如 Cloud Functions、App Engine、Cloud Run 或者 Kubernetes Engine 或 Compute Engine 上的自定义环境中。

在数据集成页面中选择 GCP PubSub 即可打通 EMQX Cloud 连接到 GCP 的通道。

EMQX Kubernetes Operator

EMQX Operator 2.1 即将发布

该版本适配了 EMQX 4.4.12 中的节点疏散功能,借助该能力,EMQX Operator 在 Kubernetes 上实现了优雅升级,为用户带来如下便利:

  • 在新的升级方案里,升级过程中客户端仅需断连一次(在之前的方案中连接可能会中断多次)。

  • 借助 EMQX 的节点疏散能力,在升级过程中实现连接可控迁移(控制连接断开速率与迁移速率)。

  • 通过减少连接中断次数与可控连接速率迁移,能够有效防保障服务端在整个升级过程中的平滑、稳定运行,防止过载。

版权声明: 本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/emqx-newsletter-202212

 


相關推薦

2023-09-07

技术以及如何将这些技术"有机"地组合起来,以达到整体优化的效果。因此,仅从项目结构和代码逻辑很难全面地理解其内涵。下面将从三个主要角度对BifroMQ的整体架构进行高层次的描述。 ▌基于去中心化集群管理的模块化架

2023-04-18

能力,使用户更加简单、方便、高效地搭建和管理大数据集群。 快速搭建大数据集群: 在Kubernetes上快速搭建部署大数据集群,省去了手动安装和配置的繁琐过程**容器化运行大数据服务**:大数据服务以容器方式运行,服务的

2022-12-02

在 EMQX 启动时做一些工作:如运维人员编写运维脚本管理集群状态,开发者导入认证数据到内置数据库中、初始化自定义的配置参数。 EMQX Kubernetes Operator 也基于此特性来实现集群启动时的配置和管理操作。 # 指定 bootstrap 文

2023-09-28

化工作,避免因环境不一致导致集群安装失败的问题;还优化服务指令执行流程等... 该版本新增了诸多新功能、优化和修复了很多问题。   1. 全面支持 Apache Doris Apache Doris 是基于 MPP 架构的新一代开源实时数据仓库,

2023-11-16

规模负载环境下的高性能 MQTT 协议。 模块化架构进一步优化:适应各种业务需求的分布式集群管理。 强力可扩展性:目标支持大规模多租户的 Serverless 云服务。 BifroMQ 的集群架构解析 StandardCluster 的整体结构 BifroMQ 将逻

2022-10-29

迁移服务器新增支持挂载数据云盘存放缓存数据 IPsec优化 创建IPsec参数新增及变更 IPsec恢复增强:支持手动重连及自动恢复 IPsec状态监控优化 IPsec升级用户体验增强 IPsec配置灵活修改 动态资源调度(DRS)新增

2023-11-17

境下的高性能 MQTT 协议。   🛠️ 模块化架构进一步优化:适应各种业务需求的分布式集群管理。   📊 强力可扩展性:目标支持大规模多租户的 Serverless 云服务。   详情介绍,继续阅读   BifroMQ的集群架构解

2022-04-07

广,而本文将简述开源项目 Dinky 如何改善 Flink 的痛点来优化 FlinkSQL 应用体验。 https://github.com/DataLinkDC/dlink https://gitee.com/DataLinkDC/Dinky 二、简介 一个 开箱即用 、易扩展 ,以 Apache Flink 为基础,连接 OLAP 和 数据湖 等众多框架

2023-02-11

NebulaGraph Dashboard 企业版 NebulaGraph Dashboard 新增 优化 Bugfix 社区版 NebulaGraph Dashboard NebulaGraph Explorer NebulaGraph Studio 内核 v3.4.0 伴随着图数据库 NebulaGraph v3.4 的发布,可视化产品 NebulaGraph Dashboard、NebulaGraph Expl

2023-03-25

灵活拆借,不利于全局资源利用效率的提升和业务成本的优化,加重集群运维的负担。 此外,由于不同类型业务的 SLO 要求、资源潮汐特性存在互补,基础设施团队期望充分利用这些特性,通过调度和管控等手段去优化资源效

2023-04-24

时,smart-mqtt为了最大限度地节省硬件成本,采用了高度优化的资源管理策略,降低了系统运行时的CPU和内存占用,使企业在保持高性能的同时,大幅降低运维成本。 smartboot 开源组织,一个容易被误认为是在 “重复造轮子

2023-04-08

获得一个永久免费使用的 Serverless MQTT 服务。 工单系统优化 现在创建工单时可以关联相关的部署,以便技术支持团队掌握相关信息,进行更好的支持服务。同时现在可以查看已经关闭的工单,更方便地回溯历史问题。 新的可

2022-09-08

hell 终端,将 Vela CLI 搬到了浏览器;增强的金丝雀发布;优化多环境应用交付工作流等。进一步提升和打磨了 KubeVela 作为应用交付平台的高扩展性体验。另外,社区也正式开始推动项目提级到 CNCF Incubation 阶段,同时在多次社区

2023-06-13

英特尔工程师一直在为Linux内核开发新的集群调度代码,以更好地帮助其现代混合处理器的进程调度。这些补丁的更新版本现在已经发布,试图帮助提高Alder Lake CPU和更新版本的Linux性能。 英特尔工程师以前曾为Linux尝试过集群