第 7 章 开箱即用的功能

编写生产就绪的 API 比仅仅发送请求和接收响应要复杂得多,gRPC 提供了比我们之前看到的简单通信模式更多的功能。在本章中,我们将探讨一些重要的功能,帮助我们使 API 更加健壮、高效和安全。

本章将涵盖以下主题:

  • 处理错误、取消和截止日期

  • 发送 HTTP 头信息

  • 加密数据传输

  • 使用拦截器提供额外的逻辑

  • 请求负载均衡到不同的服务器

到本章结束时,我们将了解使用 gRPC 时可直接使用的最重要的功能。

技术要求

在本章中,您将找到相关的代码,位于附带的 GitHub 仓库中的 chapter7 文件夹( https://github.com/PacktPublishing/gRPC-Go-for-Professionals/tree/main/chapter7 )。

在最后一节中,我将使用 Kubernetes 来演示客户端负载均衡。我假设您已经安装了 Docker 并且拥有一个 Kubernetes 集群。您可以以任何方式完成这一操作,但我提供了一个 Kind 配置文件( https://kind.sigs.k8s.io/ ),可以轻松地在本地启动一个集群。

此配置文件位于 chapter7 文件夹下的 k8s 文件夹中,名为 kind.yaml

安装 Kind 后,您可以通过以下命令创建集群:

$ kind create cluster --config k8s/kind.yaml

如果您不再需要集群,可以通过以下命令删除它:

$ kind delete cluster