EMQX Enterprise 5.5 发布:新增 Elasticsearch 数据集成

news2025/3/3 4:08:30

EMQX Enterprise 5.5.0 版本已正式发布!

在这个版本中,我们引入了一系列新的功能和改进,包括对 Elasticsearch 的集成、Apache IoTDB 和 OpenTSDB 数据集成优化、授权缓存支持排除主题等功能。此外,新版本还进行了多项改进以及 BUG 修复,进一步提升了整体性能和稳定性。

新增 Elasticsearch 数据集成

Elasticsearch 是一个分布式的搜索和数据分析引擎,能够提供多样化数据的全文搜索、结构化搜索以及分析等功能。在这个版本中,EMQX 新增了对 Elasticsearch 的数据集成,支持数据的插入、更新和删除操作,这意味着设备数据可以被写入到 Elasticsearch,用户可以灵活地使用 Elasticsearch 的搜索和分析能力对数据进行处理。

设备数据写入到 Elasticsearch 后,用户可以灵活的使用 Elasticsearch 的搜索和分析能力对数据进行处理。典型的使用场景包括物联网设备的事件和日志监测、地理位置数据(Maps)的处理以及终端安全监测。例如,物联网设备会生成大量的日志数据,这些数据可以被发送到 Elasticsearch 中进行存储和分析。通过连接到可视化工具,例如 Kibana,可以根据这些日志数据生成图表,实时展示设备状态、操作记录以及错误消息等信息。

EMQX MQTT Platform 与 Elasticsearch 数据集成

Apache IoTDB 与 OpenTSDB 数据集成优化

Apache IoTDB 与 OpenTSDB 数据集成在这个版本中得到了优化,现在支持配置数据写入模板,通过指定每个字段的时间戳、字段名称、数据类型,实现灵活的数据写入,使得数据集成开发更加快速和灵活。

InfluxDB, IoTDB 与 TDengine 数据集成支持批量设置写入字段

在工业、车联网等应用中,时序类数据集成开发中,存在一条消息包含数百乃至更多数据点位的场景。要配置将它们从消息中提取,并一一对应存储到数据库中是一个重复且复杂的工作。

为了解决这个问题,EMQX 提供了批量设置功能,用户可以通过 CSV 文件编辑要写入的字段名称以及从 Payload 中的取值方式,将其通过 Dashboard 进行导入,实现对应数据集成的快速配置。目前支持的数据集成有 InfluxDB、Apache IoTDB, 以及 TDengine。

消息桥接 SysKeeper 穿透支持

在电力生产系统的网络安全要求下,生产控制区、生产非控制区和生产管理区之间的网络通讯需要通过单向网闸设备保障网络安全。

EMQX 在数据集成中新增了正向网闸 SysKeeper 2000 穿透功能,通过配置可以启用此功能,进行 EMQX 消息在不同生产区之间的桥接传输。这一功能确保符合规章制度的情况下,实现了两个生产区之间数据通信,为电力行业物联网应用落地提供了定制化的支持,助力电力系统的安全、高效运营。

消息桥接 SysKeeper 穿透支持

授权缓存支持排除主题

EMQX 提供了开箱即用的客户端授权功能,为应用安全提供了强有力的保障。其中还支持授权缓存,能够大大减少后端压力,实现系统高性能稳定运行。

在启用缓存的基础上,对于一些安全敏感的业务,用户希望将其排除不生成缓存,以实现实时的权限更新保障通信安全。在这个版本中,EMQX 支持为授权缓存添加多个排除主题,客户可以灵活的定制不同安全级别要求,实现整个系统高效稳定运行。

可观测性提升

EMQX 为用户提供了丰富的指标和指标监控服务集成。此前用于指标集成的 Prometheus 只能获取集群运行和客户端、MQTT 相关的基础指标,对于认证授权、规则引擎和数据集成的运行指标没法实现监控管理。

在这个版本中,我们进一步增强了可观测性,暴露了更多的指标,包括:

  1. 认证与授权:每个认证与授权器的状态和允许/拒绝情况
  2. 规则:能够获取每个规则的执行情况,例如触发、通过与未通过、失败次数,以及执行的速度
  3. 数据集成:每个外部集成的连接状态,Sink 与 Source 的执行情况
  4. SSL/TLS 证书有效期,用以实现证书的轮换监控
  5. License 过期时间

通过这些更详细的指标,用户能够实现业务层面的监控,能够详细了解当前主要组件运行状态,更便捷地监测和排除系统问题。

性能提升

  1. 提高了 Kafka 生产者数据集成的性能,改善了 Kafka 服务侧的资源占用。这对于大量使用 Kafka 作为数据流通道的应用来说有非常大的帮助,因为它可以提高系统的整体性能和效率。
  2. 集群节点通信支持批量更新多个订阅操作,进一步提高了 Core - Replicant 架构在跨地域集群、高网络延迟场景下的订阅速度。实测在 220ms 的网络延迟中,能够提升 20% 的订阅速度。该设计还减轻了集群连接代理池的负载,从而最大限度地减少系统过载的风险。
  3. 提高了路由清理时的网络通信效率,在新的实现中,当一个节点宕机时,其余的存活节点只需要交换一个“匹配并删除”操作,这大大减少了所需的网络数据包数量,从而降低了集群间的网络负载。对于在网络延迟较高的跨地域环境中部署的 EMQX 集群,这种优化将会非常有益。
  4. GreptimeDB 数据集成支持异步写入操作,以提供更好的性能。
  5. 支持并发创建和更新数据集成,提高了例如导入备份文件时的操作速度。

其他功能更新

  1. JWT 认证中,Token 携带的 ACL 权限列表采用新的数据格式,使用上更加灵活。
  2. 保留消息支持搜索以及一键清除,此前已经支持了保留消息的列表查看和管理,现在我们对管理的用户体验进行了增强,支持在 Dashboard 上通过主题或者主题搜索管理保留消息列表,并实现保留消息的一键清除。
  3. 延迟消息支持指定主题进行批量删除,此项更新提高了操作效率并减少管理的复杂性。
  4. 调整 REST API 分页大小上限,将分页 REST API 的请求分页大小限制由 3000 调整为 10000,以支持更大数据量的 API 调用。
  5. 数据集成 MQTT 桥接重构,现在一组 MQTT 连接能够用于在多个消息订阅、消息发布配置中。这一改进将使得数据集成配置和管理更加灵活和高效。

BUG 修复

以下是主要 BUG 修复列表:

  • #12243 修复了一系列可能导致全局路由状态不一致的细微竞争条件,确保全局路由状态的正确性和一致性,提高系统的稳定性。
  • #12269 改进了 /clients 接口的错误处理方式。现在,如果查询字符串验证失败,EMQX 将返回 400 状态和更详细的错误信息,而不是通用的 500。这样可以让用户更清楚地知道出错的原因,提高了错误处理的透明度。
  • #12303 修复了保留消息索引的问题。此前如果客户端有通配符订阅,可能会收到与其订阅主题不匹配的无关保留消息。
  • #12404 修复了消息流量较大的情况下,重启数据集成可能导致指标停止收集的问题。现在可以确保在任何情况下都能正确收集数据集成指标,提高了系统的可靠性。
  • #12301 修复了 InfluxDB 中的行协议数值字面量被存储为字符串类型的问题。现在数值字面量将被正确地存储为数值类型,提高了数据的准确性。

更多功能变更和 BUG 修复请查看 EMQX Enterprise 5.5.0 更新日志。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1472907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Gemma谷歌(google)开源大模型微调实战(fintune gemma-2b)

Gemma-SFT Gemma-SFT(谷歌, Google), gemma-2b/gemma-7b微调(transformers)/LORA(peft)/推理 项目地址 https://github.com/yongzhuo/gemma-sft全部weights要用fp32/tf32, 使用fp16微调十几或几十的步数后大概率lossnan;(即便layer-norm是fp32也不行, LLaMA就没有这个问题, …

SpringBoot/Java中OCR实现,集成Tess4J实现图片文字识别

场景 Tesseract Tesseract是一个开源的光学字符识别(OCR)引擎,它可以将图像中的文字转换为计算机可读的文本。 支持多种语言和书面语言,并且可以在命令行中执行。它是一个流行的开源OCR工具,可以在许多不同的操作系…

【Vue3】插槽使用和animate使用

插槽使用 插槽slot匿名插槽具名插槽插槽作用域简写 动态插槽transition动画组件自定义过渡class类名如何使用animate动画库组件动画生命周期appear transition- group过渡列表 插槽slot 插槽就是子组件中提供给父组件使用的一个占位符父组件可以在这个占位符智能填充任何模板代…

pytest-配置项目不同环境URL

pytest自动化中,在不同环境进行测试,可以将项目中的url单独抽取出来,通过pytest.ini配置文件实现(类似postman中的“Environments”) 使用步骤: 1)安装pytest-base-url插件 pytest-base-url …

【Flink精讲】Flink状态及Checkpoint调优

RocksDB大状态调优 RocksDB 是基于 LSM Tree 实现的(类似 HBase) ,写数据都是先缓存到内存中, 所以 RocksDB 的写请求效率比较高。 RocksDB 使用内存结合磁盘的方式来存储数据,每 次获取数据时,先从内存中 …

Mac下载安装配置运行MySQL

一、打开官网 MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/ 1、根据自己的电脑版本下载相对应的MySQL版本,Mac分为ARM和X86两个不同的架构 ​ 不知道自己电脑是ARM还是X86的,如下操作进行查询 uname -a 我的电脑是…

2024年Apache DolphinScheduler RoadMap:引领开源调度系统的未来

非常欢迎大家来到Apache DolphinScheduler社区!随着开源技术在全球范围内的快速发展,社区的贡献者 “同仁” 一直致力于构建一个强大而活跃的开源调度系统社区,为用户提供高效、可靠的任务调度和工作流管理解决方案。 在过去的一段时间里&…

代码随想录|学习工具分享

工具分享 画图 https://excalidraw.com/ 大家平时刷题可以用这个网站画草稿图帮助理解!如果看题解很蒙或者思路不清晰的时候,跟着程序处理流程画一个图,90%的情况下都可以解决问题! 数据结构可视化 https://www.cs.usfca.edu/…

【Java设计模式】一、工厂模式、建造者模式、原型设计模式

文章目录 1、简单工厂模式2、工厂方法模式3、抽象工厂模式4、建造者模式5、原型设计模式 设计模式即总结出来的一些最佳实现。23种设计模式可分为三大类: 创建型模式:隐藏了创建对象的过程,通过逻辑方法进行创建对象,而不是直接n…

逆序或者正序打印一个数的每一位数,递归实现(C语言)

从键盘上输入一个不多于5位(包括5位)的正整数,要求 (1)求出它是几位数;(2)分别输出每一位数字(3)按逆序输出各位数字 (1)求出它是几位…

Linux浅学笔记04

目录 Linux实用操作 Linux系统下载软件 yum命令 apt systemctl命令 ln命令 日期和时区 IP地址 主机名 网络传输-下载和网络请求 ping命令 wget命令 curl命令 网络传输-端口 进程 ps 命令 关闭进程命令: 主机状态监控命令 磁盘信息监控&#xff1a…

【MQ05】异常消息处理

异常消息处理 上节课我们已经学习到了消息的持久化和确认相关的内容。但是,光有这些还不行,如果我们的消费者出现问题了,无法确认,或者直接报错产生异常了,这些消息要怎么处理呢?直接丢弃?这就是…

深入理解计算机系统学习笔记

第三章 程序的机器级表示 3.2.1 机器级代码 对于机器级编程来说,其中两种抽象尤为重要。第一种是由捍令集体系结构或指令集架构(Instruction Set Architecture, ISA)来定义机器级程序的 格式和行为,它定义了处理器状态、指令的格式&#xf…

在Ubuntu上为ARM 8处理器安装Python 3.10.4虚拟环境指南

在Ubuntu上为ARM 8处理器安装Python 3.10.4虚拟环境指南 安装Anaconda或Miniconda: 首先,您需要从官方网站下载适用于ARM架构的Anaconda或Miniconda安装包。下载完成后,在终端中使用bash Anaconda3-2019.10-Linux-armv8.sh(文件…

将仓库A中的部分提交迁移到仓库B中

结论: 使用git format-patchgit am即可实现 使用场景: 例如仓库A这里有5个提交记录,commitid1, commitid2, commitid3, commitid4,commitid5 仓库B想用仓库A中提交的代码,手动改比较慢,当改动较多的时候…

2.26 Qt day4+5 纯净窗口移动+绘画事件+Qt实现TCP连接服务+Qt实现连接数据库

思维导图 Qt实现TCP连接 服务器端&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTcpServer>//服务器端类 #include<QTcpSocket>//客户端类 #include<QMessageBox>//消息对话框类 #include<QList>//链…

2024-02-26(Spark,kafka)

1.Spark SQL是Spark的一个模块&#xff0c;用于处理海量结构化数据 限定&#xff1a;结构化数据处理 RDD的数据开发中&#xff0c;结构化&#xff0c;非结构化&#xff0c;半结构化数据都能处理。 2.为什么要学习SparkSQL SparkSQL是非常成熟的海量结构化数据处理框架。 学…

实践航拍小目标检测,基于轻量级YOLOv8n开发构建无人机航拍场景下的小目标检测识别分析系统

关于无人机相关的场景在我们之前的博文也有一些比较早期的实践&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《deepLabV3Plus实现无人机航拍目标分割识别系统》 《基于目标检测的无人机航拍场景下小目标检测实践》 《助力环保河道水质监测&#xff0c;基于yolov…

掌握ChatGPT润色绝技:什么是人工智能写作以及如何使用它来完成写作任务

如对AI写论文感兴趣&#xff0c;欢迎添加作者wx讨论 : ryan_2982 人工智能 (AI) 的出现开创了技术进步的新时代&#xff0c;彻底改变了包括写作和内容创作在内的各个行业。人工智能写作和人工智能提示已成为可以简化和增强写作任务的强大工具。在这篇博文中&#xff0c;我们将…

C++多线程学习09:并发队列

参考 链接&#xff1a;恋恋风辰官方博客 并发队列&线程安全栈 代码结构&#xff1a; 并发队列ThreadSafeQueue.h&#xff1a; #pragma once#include <mutex> #include <queue>template<typename T> class threadsafe_queue { private:mutable std::m…