使用Go语言开发gRPC微服务
第一章:Go gRPC 微服务简介
- gRPC 的跨平台和多语言兼容性:gRPC 工具和库与多种平台和语言兼容,包括 Go、Java、Python、Ruby、JavaScript 和 C# 等。Protobuf 二进制线格式和代码生成功能使开发者能够构建高性能的跨平台应用程序。
- gRPC 的优势:gRPC 越来越受欢迎,因为它能够快速生成客户端存根,为不同语言的服务提供 SDK。开发者只需定义业务对象和方法,gRPC 就可以生成特定语言的实现,使得服务器端和客户端可以使用不同的开发语言进行通信。
- 容错能力:容错是指系统在发生故障时仍能继续运行的能力。幂等操作是实现容错环境的关键,因为它可以确保即使多次调用同一操作,资源的状态也不会发生改变。此外,容错还包括限流、熔断和故障注入等主题,这些将在第六章详细介绍。
- 多语言开发环境:gRPC 非常适合多语言开发环境,因为可以使用 Python 客户端访问用 Java 编写的 Payment 服务,客户端存根生成非常方便。
- 微服务验证机制:当服务定义发生更改时,客户端的测试会失败,这是一种用于验证微服
