API 支持 MQTT 的网关 (IOT)
API Gateway with MQTT support (IOT)
最近我和物联网部门一起工作,我们的项目正在讨论和创建应用程序的核心架构。客户端规范是我们必须使用 MQTT 协议在设备和 java 应用程序(eclipse paho 客户端)之间进行通信。
它是一个基于 spring 引导和微服务架构的 Web 应用程序。但我无法为 API 提供 MQTT 支持的网关找到任何好的解决方案。
我发现 zuul 很好,但是我们有没有像 kong 这样的替代品..
MQTT 是一种基于 TCP 流的协议,因此 API 在 HTTP/第 7 层上运行的网关不符合要求。
有商业 API 网关的扩展可用,例如 Axway MQTT 代理 described here。
虽然不是 API 网关,Confluent 也有一个 MQTT 代理,允许与 Kafka 简单集成,但是如果您已经编写了一个实现后端的应用程序,那么 Kafka 将需要一些重新架构。
其他选项实际上适用于简单的 TCP 流反向代理,如 nginx 或 HAProxy。
如果我被要求构建这样的东西,我会直接去 Kafka。它和 MQTT 在架构上非常契合,并且可以很好地协同工作,但这实际上取决于您的要求。
最近我和物联网部门一起工作,我们的项目正在讨论和创建应用程序的核心架构。客户端规范是我们必须使用 MQTT 协议在设备和 java 应用程序(eclipse paho 客户端)之间进行通信。 它是一个基于 spring 引导和微服务架构的 Web 应用程序。但我无法为 API 提供 MQTT 支持的网关找到任何好的解决方案。
我发现 zuul 很好,但是我们有没有像 kong 这样的替代品..
MQTT 是一种基于 TCP 流的协议,因此 API 在 HTTP/第 7 层上运行的网关不符合要求。
有商业 API 网关的扩展可用,例如 Axway MQTT 代理 described here。
虽然不是 API 网关,Confluent 也有一个 MQTT 代理,允许与 Kafka 简单集成,但是如果您已经编写了一个实现后端的应用程序,那么 Kafka 将需要一些重新架构。
其他选项实际上适用于简单的 TCP 流反向代理,如 nginx 或 HAProxy。
如果我被要求构建这样的东西,我会直接去 Kafka。它和 MQTT 在架构上非常契合,并且可以很好地协同工作,但这实际上取决于您的要求。