目标是引入一个在 潜伏期和 网络吞吐量网络吞吐量中表现更好的传输和应用层协议。目前,应用程序使用 休息和 HTTP/1.1,我们经历了一个高延迟。我需要解决这个延迟问题,我开放使用 GRPC (HTTP/2)或 REST/HTTP2。
HTTP/2:
我知道以上所有的好处。如果我使用 带 HTTP/2的 REST,我确信,与 带 HTTP/1.1的 REST相比,我将获得显著的性能提高,但这与 GRPC (HTTP/2)相比如何?
我还知道 gRPC 使用 proto buffer,这是在线上传输结构化数据的最佳 二进制序列化技术。原型缓冲区还有助于开发一种语言无关的方法。我同意这一点,并且我可以使用 GraphQL 在 REST 中实现相同的特性。但是我关心的是序列化: 问题二:当 HTTP/2实现这个 二进制特征时,使用 proto buffer 是否在 HTTP/2之上提供了额外的优势?
问题3: 就 流,双向用例而言,gRPC (HTTP/2)与(REST 和 HTTP/2)相比如何?
互联网上有很多 博客/视频,它们将 gRPC (HTTP/2)与(REST 和 HTTP/1.1)进行比较,比如 这个。如前所述,我想知道比较 GRPC (HTTP/2)和(REST 与 HTTP/2)的区别和好处。