当构建真正的 gRPC 应用程序时,可能需要增强它们的各种能力以满足需求,比如拦截 RPC 的输入和输出、弹性处理网络延迟、处理错误、在服务和消费者之间共享元数据等。

为保持一致性,本章的所有示例都使用 Go 语言来进行阐述。如果你更熟悉 Java,则可以参考源代码仓库中相同使用场景的 Java示例。

本章将介绍一些关键的高级 gRPC 功能,包括使用 gRPC 拦截器在服务器端和客户端拦截 RPC、使用截止时间来指定等待 RPC 完成的时间、服务器端和客户端错误处理的最佳实践、使用多路复用在同一台服务器上运行多个服务、在应用程序间共享自定义的元数据、在调用其他服务的时候使用负载均衡和命名解析技术,以及压缩 RPC 调用以高效使用网络带宽。

下面先来看一下拦截器的相关概念。

文档更新时间: 2023-09-02 05:29   作者:Minho