热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

EMQX多版本发布、新增自定义函数功能

emqx,多,版本,发布,新增

11 月,EMQX 开源版和企业版分别发布了多个迭代版本,在安全性保障和生态集成方面又有了新的提升。

MQTT 消息云服务 EMQX Cloud 推出了新功能——自定义函数,用户可以更方便地将 IoT 数据处理为符合数据流的数据格式。

EMQX

11 月 EMQX 开源版发布了 v4.4.11、v4.3.22 以及 v5.0.10、v5.0.11 版本,企业版发布了 v4.3.17 以及 v4.4.11 版本。

由于开源版 4.3 版本已达到 18 个月生命周期(v4.3.0 于 2021 年 5 月 8 日发布),因此 v4.3.22 是 EMQX 4.3 开源版的最后一个社区版本。

同时,我们还将 v4.4 和 v5.0 的二进制包中 Erlang/OTP 版本从 v24.1.5 升级到了 v24.3.4.2。

Google Cloud Pub/Sub 集成

企业版 v4.4.11 中新增了 Google Cloud Pub/Sub 集成,您可以使用 Pub/Sub 将 MQTT 消息发送到位于 Google Cloud 上的服务和托管的后端应用中,更快地基于 GCP 构建物联网应用。

对于 Google IoT Core 用户,您无需做更多改变就能将 MQTT 传输层迁移至 EMQX,继续使用 Google Cloud 上的应用和服务。

CRL 与 OCSP Stapling

持有数字证书的物联网设备,如果出现私钥泄漏、证书信息有误的情况,或者设备需要永久销毁时,需要吊销对应证书以确保不被非法利用,4.4 版本中加入了 CRL 与 OCSP Stapling 功能用以解决这个问题,为您的物联网应用提供灵活且高级别的安全保障。

CRL(Certificate Revocation List,证书吊销列表) 是由 CA 机构维护的一个列表,列表中包含已经被吊销的证书序列号和吊销时间。EMQX 允许配置 CA 的请求端点并定时刷新获取 CRL,而客户端无需维护 CRL,在连接握手时通过 EMQX 即可完成证书有效性验证。

OCSP(Online Certificate Status Protocol,在线证书状态协议)是另外一个证书吊销方案,相比于 CRL, OCSP 提供了实时的证书验证能力。OCSP Stapling 是该项技术的最新改进,进一步解决了 OCSP 隐私问题和性能问题。

启用 OCSP Stapling 后,EMQX 将自行从 OCSP 服务器查询证书并缓存响应结果,当客户端向 EMQX 发起 SSL 握手请求时,EMQX 将证书的 OCSP 信息随证书链一同发送给客户端,由客户端对证书有效性进行验证。

固定认证与 ACL 顺序

在 EMQX 4.x 版本中添加了两个新配置,用于设置认证和 ACL 检查顺序。当启用多个认证或 ACL 插件/模块时,您可以使用逗号分隔的插件名称或别名来设置其执行顺序。

通过文件初始化 API 密钥

4.x 版本的另一个新特性是能够通过文件初始化 API 密钥,预设的密钥可以帮助用户在 EMQX 启动时做一些工作:如运维人员编写运维脚本管理集群状态,开发者导入认证数据到内置数据库中、初始化自定义的配置参数,在之前这些工作必须在启动完成后新建密钥对才能进行。

 # 指定 bootstrap 文件 # etc/plugins/emqx_management.conf management.bootstrap_user_file ="etc/bootstrap_apps_file.txt"  # 使用 {appid}:{secret} 的格式初始化密钥对 # etc/bootstrap_apps_file.txt appid1:secret appid2:secret2

产品优化改进

我们修复了多个已知 BUG,包括连接 MongoDB 认证失败时打印大量日志的错误,消息重发布或桥接消息到其他 MQTT Broker 时添加主题校验流程避免消息发布错误,以及 EMQX 5.0 中大规模性能测试时连接数非常大的情况下复制节点可能无法启动的问题。

除此之外,我们还在 MQTT 协议实现和安全设计上中添加了许多改进,包括 gen_rpc 库质询-响应式的身份验证支持。

更好的运维体验

4.x 版本中移除对 GET /emqx_prometheus 接口的认证要求,用户可以更方便地使用 Prometheus 抓取 EMQX 指标。

此外,上月发起的 v5.0 中 REST API 体验改善计划也正在进行。EMQX 5.0.11版本中已经包含了一些不错的改进,包括 /gateways API 的重新设计。

各版本详细更新日志请查看:

  • EMQX 开源版 v4.3.22

  • EMQX 开源版 v4.4.11

  • EMQX 企业版 v4.3.17

  • EMQX 企业版 v4.4.11

  • EMQX 开源版 v5.0.10

  • EMQX 开源版 v5.0.11

EMQX Cloud

自定义函数

EMQX Cloud 全新推出了自定义函数功能,借助云平台的函数计算能力,用户可定义编写脚本,并在数据集成功能中调用该函数。设备通过 topic 上报数据,平台接收数据后,数据解析脚本对设备上报的数据进行处理,进而再转入其他的工作流当中。

自定义函数功能可应用于多种场景:如将设备端上报的非十进制数据转化为十进制数据,符合应用标准后存入到数据库中;或者是将设备中的原始数据转化、整合为符合特殊行业协议的数据格式。

目前自定义函数支持部署在阿里云平台上的专业版用户,每个开通服务的部署都可以获得每个月 50000 次的免费调用次数,现在开通服务即可以立刻使用。有关自定义函数功能详情请关注后续推送。

优化丢弃消息监控指标

对丢弃消息监控指标进行了优化。现在,在部署控制台中选择指标,在丢弃消息指示中,可以看到丢弃消息的种类:过期而被丢弃的消息以及因为队列占满而被丢弃的消息。这将使运维监控和错误排查更方便。

EMQX Kubernetes Operator

11 月,自动化部署管理工具 EMQX Kubernetes Operator 进行了如下完善优化:

  • 解决了在 v2alpha1 中,当没有发现 sts 时候出现的 crash bug

  • 解决了在用户没有修改 CR 的情况下,sts 可能会一直更新的问题

  • 解决了当 replicas 设置为 1 时,service 无法更新的问题

  • 修复了在 status.Condition 中,lastTransitionTime 字段的错误

  • 新增支持 EMQX 和 reloader 镜像 Registry

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

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


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
  • 精讲代理设计模式
    代理设计模式为其他对象提供一种代理以控制对这个对象的访问。代理模式实现原理代理模式主要包含三个角色,即抽象主题角色(Subject)、委托类角色(被代理角色ÿ ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了SpringCloudRibbon部分源码相关的知识,希望对你有一定的参考价值。1:ribbon是提供通过servi ... [详细]
  • pc电脑如何投屏到电视?DLNA主要步骤通过DLNA连接,使用WindowsMediaPlayer的流媒体播放举例:电脑和电视机都是连接的 ... [详细]
  • mapreduce源码分析总结
    这篇文章总结的非常到位,故而转之一MapReduce概述MapReduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的ÿ ... [详细]
  • Hadoop 源码学习笔记(4)Hdfs 数据读写流程分析
    Hdfs的数据模型在对读写流程进行分析之前,我们需要先对Hdfs的数据模型有一个简单的认知。数据模型如上图所示,在NameNode中有一个唯一的FSDirectory类负责维护文件 ... [详细]
  • NFS文件共享系统
    1、概述:NFS(NetworkFileSystem)意为网络文件系统,它最大的功能就是可以通过网络,让不同的机器不同的操作系统可以共享 ... [详细]
  • Nextcloudsnap一键安装包: https:github.comextcloudextcloud-snap建议安装Ubuntu系统,因为官方一键安装包用的是Snap,Cen ... [详细]
  • 今天我们学习,数据库mongodb的使用,最下面有mongodb的下载链接。pipinstallpymongo首先安装pymongo,然后在需要用到的地方importpymongo ... [详细]
  • 使用 MobX 开发 React Native 应用 @observer 引用报错
    本文将MobX与ReactNative结合,编写一个简单的列表客户端。这是学习使用MobX和ReactNative的一个不错的起点。查看最终的代码库,点 ... [详细]
  • mongoDB高可用集群环境搭建
    2019独角兽企业重金招聘Python工程师标准在生产环境下,部署一台mongodb服务的话,会存在以下问题:单点问题生产环境是一个 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 如何搭建服务器环境php(2023年最新解答)
    导读:本篇文章编程笔记来给大家介绍有关如何搭建服务器环境php的相关内容,希望对大家有所帮助,一起来看看吧。本文目录一览:1、怎么搭建p ... [详细]
author-avatar
小就小-1980
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有