第 4 章 设置项目
正如本章标题所示,我们将从头开始设置一个 gRPC 项目。我们首先将创建 Protobuf 模式,因为我们采用的是基于模式的开发(schema-driven development)。一旦模式创建完成,我们将生成 Go 代码。最后,我们将编写服务器和客户端的模板,以便以后在本书中重复使用。
在本章中,我们将涵盖以下主要内容:
-
常见的 gRPC 项目架构
-
从模式生成 Go 代码
-
编写可重用的服务器/客户端模板
先决条件
我假设你已经在上一章中安装了 protoc
。如果没有安装,那么现在就是安装它的最佳时机,因为没有它,你将无法从本章中获得最大收益。
在本章中,我将展示设置 gRPC 项目的常见方法。我将使用 protoc
、Buf
和 Bazel
。因此,根据你感兴趣的工具,你需要下载相应的工具。Buf
是 protoc
的一个抽象层,它让我们更轻松地运行 protoc
命令。此外,它还提供了诸如代码检查(linting)和检测破坏性变更等功能。你可以从这里下载 Buf
: https://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。