登录
首页 >  Golang >  Go问答

实现不同 Lan 网络间的 gRPC 客户端到客户端通信

来源:stackoverflow

时间:2024-02-18 16:06:22 193浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《实现不同 Lan 网络间的 gRPC 客户端到客户端通信》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我有关于 gRPC 通信的问题。

我知道 gRPC 有 4 种通信模型:单向、服务器流式传输、客户端流式传输和双向。 “客户端”和“服务器”这两个术语非常灵活,因为它确实是点对点通信。

我想知道“如果两个或多个客户端位于不同的 LAN 网络中,gRPC 是否可以支持客户端到客户端的通信”?就像下面的图片:

例如,在 MQTT 协议中,位于不同 LAN 网络的两个客户端可以通过 MQTT Broker 中的主题进行通信。

如果纯 gRPC 无法支持此模型,我可以添加其他成分来使 gRPC 支持此通信吗?


解决方案


您所绘制的图表应该可以正常工作。两个客户端通过双向流连接到同一服务器,服务器将来自 CLIENT(1) 的消息转发给 CLIENT(2),反之亦然。

这适用于简单的情况。如果您需要添加容错功能(例如多个服务器),则系统需要更加复杂,例如用于存储尚未收到的消息的数据库。

请注意,您的比较不太有效,因为 MQTT 位于堆栈的应用程序层,而 gRPC 是传输层的一部分。 (注意https://en.wikipedia.org/wiki/MQTT.右边的表格)

以上就是《实现不同 Lan 网络间的 gRPC 客户端到客户端通信》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>