gRPC: Up and Running. 使用 Go 和 gRPC 构建云原生应用
gRPC: Up and Running. 使用 Go 和 gRPC 构建云原生应用
简介:
引言
《gRPC: Up and Running》一书(作者:Kasun Indrasiri 和 Danesh Kuruppu,2020 年出版,共 265 页)是一本实用指南,教你如何使用 Go 语言(Golang)中的 gRPC 框架构建现代云原生应用。尽管 PythonLib 网站专注于 Python,但这本书值得任何对微服务架构和高性能通信协议感兴趣的开发者关注。gRPC 是一项在 Python 生态系统中被广泛使用的技术(例如通过 grpcio 库),通过 Go 语言的示例来理解其基础,可以让你深入掌握那些易于迁移到 Python 的原则。
本书内容
本书循序渐进地引导读者了解 gRPC:从安装和配置到生产环境部署。作者从基础开始讲解——什么是 gRPC,它与 REST 有何不同,HTTP/2 和 Protocol Buffers 如何工作。然后过渡到在 Go 中创建服务器和客户端、处理流式传输(streaming)、错误处理、身份验证、负载均衡和监控。书中还有专门章节介绍与 Kubernetes 和 gRPC-web 的集成。
适用读者
本书面向已经熟悉 Go 的开发者(尽管基础示例对新手来说也易于理解)。它将有助于:
- 希望掌握 gRPC 以用于微服务的 Go 开发者;
- 希望从内部理解 gRPC 的 Python 开发者(许多概念是相同的);
- 设计高性能系统的架构师;
- 所有从 REST 迁移到 gRPC 的人。
读者将学到什么
阅读本书后,你将能够:
- 理解 gRPC 的原理及其与 REST 的区别;
- 创建高效的 .proto 文件并生成代码;
- 实现一元 RPC 和流式 RPC(服务端流式、客户端流式、双向流式);
- 配置身份验证(SSL/TLS、令牌);
- 将 gRPC 与 Kubernetes 和 Envoy 集成;
- 调试和分析 gRPC 服务。
优势
本书的主要优点是实践性强。每一章都包含现成的 Go 代码示例,可以立即运行。作者不仅关注理论,还关注实际问题:超时、重试、负载均衡。本书语言生动,复杂的概念通过类比进行解释。特别值得一提的是关于 gRPC-web 的章节——这在 2020 年的文献中很少见。
推荐理由
我向所有从事微服务工作的人推荐这本书,无论你主要使用哪种语言。对于 Python 开发者来说,它将是对 grpcio 官方文档的极好补充,因为它展示了“来自另一视角”的观点——基于 Go,但遵循相同的原则。如果你想深入理解 gRPC 并开始在项目中使用它,这是最好的起点。