EMQX 4.x 版本更新:Kafka 与 RocketMQ 集成安全增强

简介: 云原生分布式物联网接入平台EMQX此次发布包含多个功能更新:规则引擎RocketMQ支持ACL检查、Kafka支持SASL/SCRAM与SASL/GSSAPI认证以适配更多部署方式,提升MQTT共享订阅性能。

近日,EMQX 开源版 v4.3.17、v4.3.18、v4.4.6、v4.4.7,与企业版 v4.3.12、v4.3.13、v4.4.6、v4.4.7 八个维护版本正式发布。

此次发布包含了多个功能更新:规则引擎 RocketMQ 支持 ACL 检查、Kafka 支持 SASL/SCRAM 与 SASL/GSSAPI 认证以适配更多部署方式,提升规则引擎 TDengine 写入性能以及 MQTT 共享订阅性能,同时在 CLI 中提供了配置文件检查命令,方便用户修改 EMQX 配置。此外还修复了多项已知 BUG。

欢迎下载使用:https://www.emqx.com/zh/try

规则引擎新功能

RocketMQ 支持携带用户信息实现 ACL 检查

包含版本 企业版 v4.3.12 企业版 v4.4.6

RocketMQ 在 4.4.0 版本开始支持 ACL,通过创建多个用户并为其赋予不同的 Topic 和消费组权限,以达到用户之间的权限隔离。开启 ACL 访问控制会导致没有配置认证信息的客户端连接中断。

本次发布 EMQX 新增了 RocketMQ ACL 支持,在资源创建页面填入用户信息即可连接至启用 ACL 的 RocketMQ 示例,以实现更安全的数据集成。

Kafka 支持 SASL/SCRAM 与 SASL/GSSAPI 认证

包含版本 企业版 v4.4.6

SCRAM 是 SASL 机制家族的一种,是针对 SASL/PLAIN 方式的不足而提供的另一种认证方式。这种方式能够支持动态添加用户,同时使用 sha256 或 sha512 对密码加密,安全性相对会高一些。SASL/GSSAPI 主要是给 Kerberos 使用的。

新增的两种认证方式让 EMQX 能够用于更多的 Kafka 环境,满足企业用户不同的安全配置需求。

提升规则引擎中 TDengine 的写入性能

包含版本 企业版 v4.3.12 企业版 v4.4.6

优化底层驱动实现 TDengine 写入性能的提升,同时写入数据到 TDengine 的动作中新增 db_name 字段以改善对超级表的支持。

规则引擎支持分页和搜索

包含版本 开源版 v4.3.17 开源版 v4.4.6 企业版 v4.3.12 企业版 v4.4.6

规则引擎列表查看 REST API 支持分页与模糊搜索包括规则的 SQL、Topics 列表、动作列表等。此特性旨在于让用户更方便地管理规则,尤其是规则数量较多的时候。

本次更新默认兼容旧版本 API,仅在 Query 中携带指定参数才会返回分页格式数据。

Query 查询参数:

表格.png

通过 CLI 检查配置是否正确

包含版本 开源版 v4.3.17 开源版 v4.4.6 企业版 v4.3.12 企业版 v4.4.6

在重启 EMQX 之前使用 CLI 命令测试当前配置是否正确,能够检测包括配置语法、配置文件格式、配置项引起的错误,避免应用配置时因为配置错误 block EMQX 启动。

./bin/emqx check_conf

Dashboard 支持清除历史告警

包含版本 企业版 v4.3.12 企业版 v4.4.6

EMQX 内置监控告警功能,支持监控 CPU 占用率、(系统/进程)内存占用率、进程数量、规则引擎资源状态、集群脑裂与愈合并进行告警。

此前 EMQX 已经支持历史告警清除 REST API,本次发布在 Dashbaord 实现了告警清除能力。

EMQX Dashbaord.png

新增 TLS 垃圾回收配置

包含版本 开源版 v4.3.18 开源版 v4.4.7 企业版 v4.3.13 企业版 v4.4.7

允许配置连接进程在 TLS 握手完成后进行垃圾回收以减少内存占用,这可以使每个 SSL 连接减少大约 35% 的内存消耗,但相应地会增加 CPU 的消耗。

其他重要变更

  • 优化共享订阅性能
  • 开源版 v4.3.13 升级了 OTP 版本以解决 OTP Bug 导致的随机进程失去响应的问题(出现概率较低),建议仍在使用 v4.3 的用户升级到此版本
  • 允许配置 TLS 握手日志的日志等级以便查看详细的握手过程
  • 从下一版本起,我们将停止对 macOS 10 的支持,转为提供 macOS 11 的安装包

BUG 修复

各版本 BUG 修复详情请查看:

目录
相关文章
|
4月前
|
消息中间件 Java Kafka
消息传递新纪元:探索RabbitMQ、RocketMQ和Kafka的魅力所在
【8月更文挑战第29天】这段内容介绍了在分布式系统中起到异步通信与解耦作用的消息队列,并详细探讨了三种流行的消息队列产品:RabbitMQ、RocketMQ 和 Kafka。其中,RabbitMQ 是一个基于 AMQP 协议的开源消息队列系统,支持多种消息模型;RocketMQ 则是由阿里巴巴开源的具备高性能、高可用性和高可靠性的分布式消息队列,支持事务消息等多种特性;而 Kafka 作为一个由 LinkedIn 开源的分布式流处理平台,以高吞吐量和良好的可扩展性著称。此外,还提供了使用这三种消息队列发送和接收消息的代码示例。总之,这三种消息队列各有优势,适用于不同的业务场景。
70 3
|
15天前
|
消息中间件 大数据 Kafka
大厂面试高频:Kafka、RocketMQ、RabbitMQ 的优劣势比较
本文深入探讨了消息队列的核心概念、应用场景及Kafka、RocketMQ、RabbitMQ的优劣势比较,大厂面试高频,必知必会,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:Kafka、RocketMQ、RabbitMQ 的优劣势比较
|
1月前
|
消息中间件 存储 监控
ActiveMQ、RocketMQ、RabbitMQ、Kafka 的区别
【10月更文挑战第24天】ActiveMQ、RocketMQ、RabbitMQ 和 Kafka 都有各自的特点和优势,在不同的应用场景中发挥着重要作用。在选择消息队列时,需要根据具体的需求、性能要求、扩展性要求等因素进行综合考虑,选择最适合的消息队列技术。同时,随着技术的不断发展和演进,这些消息队列也在不断地更新和完善,以适应不断变化的应用需求。
81 1
|
2月前
|
消息中间件 存储 监控
说说如何解决RocketMq消息积压?为什么Kafka性能比RocketMq高?它们区别是什么?
【10月更文挑战第8天】在分布式系统中,消息队列扮演着至关重要的角色,它不仅能够解耦系统组件,还能提供异步处理、流量削峰和消息持久化等功能。在众多的消息队列产品中,RocketMQ和Kafka无疑是其中的佼佼者。本文将围绕如何解决RocketMQ消息积压、为什么Kafka性能比RocketMQ高以及它们之间的区别进行深入探讨。
89 1
|
4月前
|
消息中间件 存储 监控
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别,设计目标、适用场景、吞吐量、消息存储和持久化、可靠性、集群负载均衡
RabbitMQ、Kafka对比(超详细),Kafka、RabbitMQ、RocketMQ的区别
|
4月前
|
消息中间件 安全 Java
Spring Boot 基于 SCRAM 认证集成 Kafka 的详解
【8月更文挑战第4天】本文详解Spring Boot结合SCRAM认证集成Kafka的过程。SCRAM为Kafka提供安全身份验证。首先确认Kafka服务已启用SCRAM,并准备认证凭据。接着,在`pom.xml`添加`spring-kafka`依赖,并在`application.properties`中配置Kafka属性,包括SASL_SSL协议与SCRAM-SHA-256机制。创建生产者与消费者类以实现消息的发送与接收功能。最后,通过实际消息传递测试集成效果与认证机制的有效性。
153 4
|
4月前
|
消息中间件 Kafka 数据处理
实时数据流处理:Dask Streams 与 Apache Kafka 集成
【8月更文第29天】在现代数据处理领域,实时数据流处理已经成为不可或缺的一部分。随着物联网设备、社交媒体和其他实时数据源的普及,处理这些高吞吐量的数据流成为了一项挑战。Apache Kafka 作为一种高吞吐量的消息队列服务,被广泛应用于实时数据流处理场景中。Dask Streams 是 Dask 库的一个子模块,它为 Python 开发者提供了一个易于使用的实时数据流处理框架。本文将介绍如何将 Dask Streams 与 Apache Kafka 结合使用,以实现高效的数据流处理。
83 0
|
4月前
|
消息中间件 Kafka Apache
kafka vs rocketmq: 不要只顾着吞吐量而忘了延迟这个指标
这篇文章讨论了Apache RocketMQ和Kafka的对比,强调RocketMQ在低延迟、消息重试与追踪、海量Topic、多租户等方面进行了优化,特别是在小包非批量和大量分区场景下的吞吐量超越Kafka,适合电商和金融领域等高并发、高可靠和高可用场景。
116 0
|
5月前
|
消息中间件 Java Kafka
Spring Boot与Apache Kafka Streams的集成
Spring Boot与Apache Kafka Streams的集成
|
5月前
|
消息中间件 NoSQL Kafka
消息中间件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之间的区别
消息中间件(RocketMQ、RabbitMQ、ActiveMQ、Redis、kafka、ZeroMQ)以及之间的区别