白皮书
车联网设计与实现:搭建可靠、高效、符合行业需求的车联网平台 →

EMQX Newsletter 202108:夏日炎炎,EMQX 项目开发火热进行中

EMQX Team
2021-9-3
EMQX Newsletter 202108:夏日炎炎,EMQX 项目开发火热进行中

这个 8 月,我们的开源团队正全力投入 EMQX 5.0 的功能开发之中。经过多次激烈讨论和快速迭代,EMQX 5.0 现已发布 alpha.5 版本。我们预计首个 beta 版很快就会发布。

EMQX 5.0 管理用户界面速览

EMQX 5.0 将呈现全新设计的管理 UI (用户界面)。新设计的 UI 非常注重用户体验的改进,同时兼顾 UI 的清晰度和参数化能力。

下图是 MQTT 高级功能的新 UI 界面截图。

MQTT 高级功能

新 UI 将使主题重写、自动订阅、延迟发布和事件消息的管理变得轻而易举。

动态重新配置 EMQX

Swagger UI

在之前的 Newsletter 中我们提到,EMQX 5.0 使用 Open API 3.0 来管理 API。如果您访问 https://:18083/api-docs,浏览器将带您进入 Swagger UI,您可以直接从 GUI(图形用户界面)尝试 API 调用,并查看 API 的详细文档。

我们在 8 月份添加了一个新的框架,它允许 EMQX 用户动态地重新配置集群。对于大多数配置更改,无需重新启动消息服务器即可使配置更改生效。

Cluster Call 实现配置一致性

我们刚才介绍了动态配置更新和重新加载,那么如何确保更改应用于集群中的所有节点呢?为此我们实现了「Cluster Call 」功能。

在此之前我们一直在 EMQX 中使用 Erlang 的 Multi-call 功能将更改复制到集群中的所有节点。这种方式使用起来很简单,并且在大多数网络场景中都可以正常工作。但是,在回滚或故障处理方面存在不足。

「Cluster Call 」功能允许我们以异步方式复制更改,最终将在集群中的所有节点上应用相同的更改。

配置文档生成

在 EMQX 5.0 中,源代码将成为 API 和配置文档的唯一真实来源。借助于 HOCON 模式功能,使代码和文档保持同步将非常轻松。下面是监听器配置文档的示例。

监听器配置文档示例

图中是 QUIC 监听器生成的配置文件,正如我们在之前的更新中提到的:EMQX 现在已经有了一个基于 QUIC 传输的 MQTT PoC 实现。

RLog 现命名为 Mria

我们之前将异步 Mnesia 数据库复制项目命名为 RLog(即 Replicated Mnesia transaction Log),其作为 ekka 库的一部分来实施。

我们相信这个项目将使 Erlang/Elixir 社区受益,因此我们决定将其转移至其自身的存储库:mria

项目名称「mria」源自于世界上最大的飞机 AN-225 MRIA,同时也和它的源数据库 Mnesia 有相同的「-ia」后缀。

免费试用 EMQX Cloud
全托管的云原生 MQTT 消息服务
开始试用 →

推荐阅读