gRPC 构建在两个快速、高效的协议之上,也就是 protocol buffers 和HTTP/2。protocol buffers 是一个语言中立、平台无关的数据序列化协议,并且提供了可扩展的机制来实现结构化数据的序列化。当序列化完成之后,该协议会生成二进制载荷,这种载荷会比常见的 JSON 载荷更小,并且是强类型的。序列化之后的二进制载荷会通过名为 HTTP/2 的二进制传输协议进行发送。
HTTP/2 是互联网协议 HTTP 的第 2 个主版本。HTTP/2 是完全多路复用的,这意味着 HTTP/2 可以在 TCP 连接上并行发送多个数据请求。这样一来,使用 HTTP/2 编写的应用程序更快、更简洁、更稳健。以上诸多因素使 gRPC 成为高性能的 RPC 框架。
本章介绍了 gRPC 通信的底层细节。对于开发 gRPC 应用程序来说,由于 gRPC 库已经处理了这些细节,因此我们无须再掌握它们,但在生产环境中使用 gRPC 时,了解底层 gRPC 消息流,对于排查 gRPC 通信的相关问题至关重要。第 5 章将讨论 gRPC 提供的一些高级功能,以满足实际需求。
文档更新时间: 2023-09-02 05:28 作者:Minho