MQTT 到 Google Cloud PubSub 重新发布解决方案的设计方法/模式
Posted
技术标签:
【中文标题】MQTT 到 Google Cloud PubSub 重新发布解决方案的设计方法/模式【英文标题】:MQTT to Google Cloud PubSub republishing solution design approach / pattern 【发布时间】:2021-12-28 06:00:06 【问题描述】:上下文
我正在设计一个解决方案,我需要将传感器数据从不同类型的constrained devices 提取到 Google Cloud PubSub。
前置条件
这些受限设备仅支持 MQTT 并且仅支持基于 TCP 的 MQTT。 他们不支持 MQTT over TLS,并且无法进行任何类型的基于证书的连接。 不过,我确实可以灵活地选择 MQTT 代理。鉴于上下文和前提条件,请建议我可以将消息从 MQTT 重新发布到 Google PubSub 的方法。
提前致谢!
【问题讨论】:
你的问题更多是关于设计和架构,不适合***。请在Software Engineering Stack Forum提问。 【参考方案1】:几乎所有 MQTT 代理都支持桥接到其他代理。
因此,设备将使用原始 MQTT 连接到您的代理,然后它会使用 MQTT over TLS 创建到 Google IoT Broker 的单一 TLS 身份验证连接,并通过该连接转发所有消息。
这意味着不需要单独的客户端连接到两个代理并转发消息。
【讨论】:
感谢您的回复。作为前提条件,我已经提到设备不支持 TLS,它们只能支持 TCP,这基本上排除了 GCP MQTT 桥接方法。如果我遗漏了什么,请告诉我。 设备不需要使用 TLS,它们只需像往常一样连接到您的代理,然后代理通过 TLS 上的 MQTT 连接到 Google(正如我在答案中明确指出的那样) 感谢您的澄清。我将对此进行 POC 并查看。 为什么我必须使用谷歌物联网核心?而且我已经有一组 PubSub 主题,我希望这些 MQTT 消息被重新发布/重定向到。在您提出的方法中,这可能吗?我不希望 Cloud IoT 核心接管并使用它自己的主题结构。 我假设您使用的是 Google IoT,因为您提供的 Google MQTT Bridge 的链接明确谈到了将它与 Google IoT Core 一起使用。以上是关于MQTT 到 Google Cloud PubSub 重新发布解决方案的设计方法/模式的主要内容,如果未能解决你的问题,请参考以下文章
使用 Google Cloud pub sub 实现 MQTT
如何更改 Google IoT Core 的 MQTT 主机名