第 4 章 设置项目

正如本章标题所示,我们将从头开始设置一个 gRPC 项目。我们首先将创建 Protobuf 模式,因为我们采用的是基于模式的开发(schema-driven development)。一旦模式创建完成,我们将生成 Go 代码。最后,我们将编写服务器和客户端的模板,以便以后在本书中重复使用。

在本章中,我们将涵盖以下主要内容:

  • 常见的 gRPC 项目架构

  • 从模式生成 Go 代码

  • 编写可重用的服务器/客户端模板

先决条件

我假设你已经在上一章中安装了 protoc。如果没有安装,那么现在就是安装它的最佳时机,因为没有它,你将无法从本章中获得最大收益。

在本章中,我将展示设置 gRPC 项目的常见方法。我将使用 protocBufBazel。因此,根据你感兴趣的工具,你需要下载相应的工具。Bufprotoc 的一个抽象层,它让我们更轻松地运行 protoc 命令。此外,它还提供了诸如代码检查(linting)和检测破坏性变更等功能。你可以从这里下载 Bufhttps://docs.buf.build/installation 。我还将使用 Bazel 来自动生成 Go 代码、Protobuf 代码以及我们的服务器和客户端的二进制文件。如果你对使用 Bazel 感兴趣,可以查阅安装文档: https://github.com/bazelbuild/bazelisk#installation。

最后,你可以在配套的 GitHub 仓库中的 chapter4 文件夹找到本章的代码: https://github.com/PacktPublishing/gRPC-Go-for-Professionals/tree/main/chapter4。