首页 > 解决方案 > 支持 MQTT 的 API 网关 (IOT)

问题描述

最近我和物联网部门一起工作,我们的项目正在讨论和创建应用程序的核心架构。客户端规范是我们必须使用 MQTT 协议在设备和 java 应用程序(eclipse paho 客户端)之间进行通信。它是一个基于 Spring Boot 和微服务架构的 Web 应用程序。但我无法为提供 MQTT 支持的 API 网关找到任何好的解决方案。

我发现 zuul 很好,但我们有没有像 kong 一样的选择。

标签: spring-bootarchitecturemicroservicesiotapi-gateway

解决方案


MQTT 是一个基于 TCP 流的协议,因此在 HTTP / 第 7 层上运行的 API 网关将不符合要求。

有可用的商业 API 网关扩展,例如 此处描述的 Axway MQTT 代理。

虽然不是 API 网关,但 Confluent 也有一个允许与Kafka简单集成的 MQTT 代理,但是如果您已经编写了一个实现后端的应用程序,那么 Kafka 将需要重新架构。

其他选项确实适用于简单的 TCP 流反向代理,如 nginx 或 HAProxy。

如果我被要求构建这样的东西,我会直接去卡夫卡。它和 MQTT 是一种非常简洁的架构配合,并且可以很好地协同工作,但这实际上取决于您的要求。


推荐阅读