可以用grpc的双向流模式当普通的socket用吗?

发布于 2022-09-11 23:44:59 字数 40 浏览 12 评论 0

因为需要双向通讯,用grpc的双向流比普通socket性能差多少啊

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

栀梦 2022-09-18 23:44:59

gRPC 是基于 HTTP/2 的,HTTP/2 又是基于 TCP 的。而 socket 直接就是 TCP。

理论性能上肯定是直接用 socket 更快啊,少两层封装呢。

但 gRPC 还提供了完整的序列化/反序列方案(ProtoBuf)啊,还自带压缩传输,还是强类型。

你徒手写的 socket 还未必有人家性能高。

汐鸠 2022-09-18 23:44:59

gRPC 双向流的优势在于,基于 HTTP2 的单条连接请求复用的协议实现,对于大型数据的传输,客户端可以多次发送请求,服务端可以做到边接收边处理边响应,避免等待所有数据接受完毕再处理从而增加耗时。并且 gRPC 双向流的传输对象是 protobuf 消息体,序列化和反序列化工作都已由内部实现。当然,这些均可以自己通过 socket 来实现,不过可能会增加不少额外的工作。

理论上讲,如果 gRPC 双向流非常切合业务需求,是可以用作双向通信的,但是要看题主对侧重点的把量,性能还是易实现性,并且现成的 socket 方案也不少,不要为了用 gRPC 而用 gRPC。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文