我最近看到了文章,我们使用双向流调用来交换业务数据,而不仅仅是上传/下载。
然后我想到了一个问题:这个模型是否可以替代API后端到后端HTTP调用?
例如,如果我们检查这个:

当服务启动时,后端客户端可以与其他后端服务器一起打开gRPC流。然后,当前端客户端调用此服务时:
这种模式会比背对背HTTP调用更快吗?还是这个想法太蠢了?有人已经试过了吗?
发布于 2022-11-02 19:55:49
这种方法有其优点和缺点。
与一元调用相比,如果后端客户端遵循最佳实践,并且在调用之间重用gRPC通道,那么这不应该更快。
区别在于,在一元调用中,header+data帧将在请求时发送,而headers+data+headers帧将在响应时发送,而在bidi流请求响应消息中,响应消息将仅仅是数据帧。但是,报头帧通常都是在同一个数据包中发送的,而且数据帧的解析也不应该太费时,所以我不希望在这里节省任何重要的时间。
将所有一元调用转换为单个bidi流的缺点是:
流调用有许多有效的用例,例如,当我们需要订阅客户端和服务器之间的更新或流数据时。对于这些用例流调用是很好的,但是如果一元调用对您的用例有效,那么将它们转换为流调用不会带来显著的好处。
https://stackoverflow.com/questions/74265569
复制相似问题