EMQ X Newsletter 202105:云原生之旅正式启航!

v4.3 已发布!

这个五月,我们很高兴地宣布了 EMQ X broker v4.3 的发布。从社区收到的大量反馈证明了我们的努力是值得的。更多详情请前往 GitHub 查看发布说明:https://github.com/emqx/emqx/discussions/4763

一些原本计划在 v5.0 中进行的更新被提前到了 v4.3 中,与此同时,还有更多工作等待着我们去完成。

集群稳定性的提高:大规模的重新订阅

我们进行了大规模(200万个连接)的连接/重连测试,验证并解决了以前遇到的订阅通配符时的不稳定情况。

我们将在后续文章中分享更多详细情况,敬请关注。

集群稳定性增强:粘性会话负载平衡

感谢 Haproxy 团队,在社区版中,我们已有了第一个支持 MQTT 协议的负载均衡器。在以 MQTT 客户端 ID 为键的 stick table 的帮助下,我们认为集群节点之间的 MQTT 会话接管/迁移的数量将大大减少。

它的启用也非常简单,举例如下:

backend emqx_tcp_back
mode tcp
# Create a stick table for session persistence
stick-table type string len 32 size 100k expire 30m
# Use ClientID / client_identifier as persistence key  stick on req.payload(0,0),mqtt_field_value(connect,client_identifier)
server emqx-1 node1.emqx.io:1883 check-send-proxy send-proxy-v2
server emqx-2 node2.emqx.io:1883 check-send-proxy send-proxy-v2

全速推进 v5.0 走向云原生

正如我们之前的 Newsletter 中所提到的,一些团队成员从今年年初就开始了 v5.0 的相关工作。云原生将是这一版本的关键主题。以下是我们正在准备的一些令人兴奋的新功能亮点。

基础设施作为代码

我们在 v5.0 中采用 HOCON 有两个原因。

  • 它几乎是 EMQ X 一直以来使用的 cuttlefish 格式的一个直接替代;

  • 它是 “纯 JSON",这是当在 HTTP API 中发布请求时唯一合理可用的格式。

HOCON 允许我们最终统一两个管理界面:配置文件和 HTTP-API。(未来的 CLI 将被包裹在 HTTP-API 中)。

有了新的配置和 API,我们将在 v5.0 中支持从基础设施作为代码部署的资源创建(如 ansible 模板、Kubernetes 配置地图等),以及支持 Dashboard UI 甚至脚本的 HTTP API。

无状态节点

自 2021 年 2 月,Rlog 项目启动以来,我们一直都在取得稳定的进展。

Rlog(复制事务日志的简称)将集群分成节点集的两个角色,核心节点和复制节点。核心节点将和我们现在形成集群的方式一样形成一个(网状)集群,复制节点将异步接收数据库的更新。

在之前的 EMQ Demo Day 中我们对其进行了演示与介绍,点击文末「阅读原文」可查看视频回放。

复制节点的无状态性质将使得在云中的部署变得简单。

认证授权

我们正在为 5.0 开发认证与授权功能,目前已实现基础框架并支持了部分资源。

全新设计后的认证与授权功能在使用上将更加灵活和简单,认证/授权链的概念得到延续,并再次强化,我们将允许您动态创建认证和授权服务,并且提供了强大的运行时管理能力。

在之前的 EMQ Demo Day 中我们对其进行了演示与介绍,点击文末「阅读原文」可查看视频回放。

Connetor

我们将规则引擎、认证、授权等功能都需要用到的通用资源抽象为 Connector,并上升为全局概念。我们实现了 Connector 框架以提供 MySQL、HTTP Server 等外部资源的连接配置、健康检查等通用能力,以求在代码量和使用方式上都做到简洁。

StatsD, etcd 3.4 与 HTTP API

团队成员在本月陆续完成了对 StatsD 和 etcd 3.4 的支持,分别扩展了 EMQ X 的监控能力和集群能力。现在,我们正在设计更加规范更加 Restful 的 HTTP API,以提高对开发者的友好性。

关注我们获取最新动态

推荐阅读

粘性会话负载均衡 - MQTT Broker 集群详解(二)

本文将通过在 EMQ X 4.3 集群前面配置 HAProxy 负载均衡器,带读者亲自体验如何充分利用粘性会话实现负载均衡。

EMQ 助力西安增材制造国家研究院打造增材智能车间平台

在本方案中,EMQ X 消息中间件提供了高并发的设备接入能力,以及在高频采集、数据高吞吐场景下的数据接入与实时处理能力。

Fan Wang 2020-11-30
EMQ X 规则引擎系列(六)存储消息到 DynamoDB 数据库

Amazon DynamoDB 是一个完全托管的 NoSQL 数据库服务,支持键值和文档数据结构。

2019-09-17