我不喜欢同时做很多事情的工具。所以 GRPC 在我看来是开销,它就像 kubernetes。
GRPC 是实际上结合了两件事的工具:扩展的 Protobuf(服务支持)和 HTTP2。
我读了很多文章说使用 GRPC 的性能很棒。而且有两个原因
这是主要部分:protobuf 和 HTTP2 是独立的项目、工具等等。有了这种理解,我可以说 GRPC 只不过是结合了几个不同的工具,比如 kubernetes 结合了 docker 和编排工具。
所以我的问题是:女 使用带有任何有效负载(CSV、XML、JSON 等)的 GRPC 与 HTTP2 的实际优势。
让我们跳过关于序列化的部分,因为正如我提到的 protobuf 是 grpc 的独立库
最佳答案
正如您所指出的,gRPC 和 Protobuf 经常混为一谈。而在绝大多数情况下,gRPC 将使用 protobuf 作为 IDL,使用 HTTP/2 作为传输,this is not always the case .
那么,gRPC 本身提供了什么值(value)呢?对于初学者,它为每个传输提供经过实战考验的实现,以及对 protobuf IDL 的一流支持。整合这些东西并非易事。 gRPC 将它们全部打包到一个漂亮的可插拔盒子中,因此您不必做繁琐的工作。
它还为您提供了 HTTP/2 本身不具备的功能。 Pluggable authorization/authentication , distributed tracing instrumentation , debugging utilities , look-aside load balancing (包括upcoming support for the xDS protocol)、and more提供。
关于json - JSON RPC 与 HTTP2 与 grpc 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58767467/