--- id: backend.grpc-microservices.index title: gRPC 与微服务 type: index domain: backend stack: [grpc-microservices] tags: [gRPC, Protobuf, 微服务, 服务治理] week: [14] --- # gRPC 与微服务 Go 岗位的 JD 里经常出现“熟悉 gRPC / 微服务架构”。这个专题讲清楚三件事:gRPC 和 Protobuf 怎么用;服务之间调用要做哪些治理(超时、重试、熔断、限流、注册发现、链路追踪);什么时候拆服务、怎么拆。转岗求职阶段的项目不需要真的拆成很多服务,但要能讲清楚取舍。 ## 学习路线 | 顺序 | 课程 | 级别 | 预计 | | --- | --- | --- | --- | | 1 | [gRPC 和 Protobuf:IDL、四种调用方式、错误码、超时、拦截器](01-grpc-proto.md) | 进阶 | 3 小时 | | 2 | [服务治理:超时、重试、熔断、限流、注册发现、链路追踪、分布式事务](02-governance.md) | 进阶 | 3 小时 | ## 企业场景 - [单体拆分:从单体到“订单 + 用户”两个服务](scenarios/monolith-split.md) ## 面试题 - [gRPC 与微服务面试题](interview.md) ## 示例代码 - [examples/grpc-user](examples/grpc-user/):Python 从 `user.proto` 生成代码,演示一元调用、服务端流、错误码和超时(需要 `grpcio`、`grpcio-tools`) - [examples/resilience](examples/resilience/):Go 标准库实现带退避的重试和熔断器,附测试 ## 在 16 周计划中 - [第 14 周:后端扩展与部署](../../../plan/week14-backend-extend-deploy.md) ## 官方资料 - gRPC 文档(Go / Python 快速开始):https://grpc.io/docs/ - Protobuf 语言指南:https://protobuf.dev/programming-guides/proto3/ - OpenTelemetry:https://opentelemetry.io/docs/