- 什么是 gRPC?
gRPC 是一个现代的、开源的远程过程调用 (RPC) 框架,可以在任何地方运行。它使客户端和服务器应用程序能够透明地通信,并使构建连接系统变得更加容易。
- gRPC 代表什么?
gRPC Remote Procedure Calls
- 为什么要使用 gRPC
主要使用场景:
·低延迟、高度可扩展的分布式系统。
·开发与云服务器通信的移动客户端。
·设计一个需要准确、高效和语言独立的新协议。
·分层设计以实现扩展,例如。身份验证、负载平衡、日志记录和监控等。
- 可以将 gRPC 与我最喜欢的数据格式(JSON、Protobuf、Thrift、XML)一起使用吗?
是的。gRPC 旨在可扩展以支持多种内容类型。初始版本包含对 Protobuf 的支持以及对其他内容类型的外部支持,例如 FlatBuffers 和 Thrift,处于不同的成熟度。
- 为什么 gRPC 比 REST 更好/更差?
gRPC 在很大程度上遵循 HTTP/2 之上的 HTTP 语义,但我们明确允许全双工流式传输。我们与典型的 REST 约定不同,因为我们在调用调度期间出于性能原因使用静态路径,因为从路径、查询参数和有效负载正文中解析调用参数会增加延迟和复杂性。我们还形式化了一组错误,我们认为这些错误比 HTTP 状态代码更直接适用于 API 用例。