第三篇 服务间通信:从 HTTP 到 gRPC
拆分之后最先撞上的不是分布式事务,而是最朴素的问题:服务 A 怎么找到服务 B。单体里一次函数调用就能拿到的数据,现在要跨机器、跨网络;订单服务要调商品、调用户,地址写死在配置里,机器一重启就全乱套。上一篇我们把服务搬上 CVM、网络与安全组打通,这一篇解决它们之间怎么说话的问题。
本篇四章的脉络如下:
- 3.1 讲服务注册发现,把易变的地址从配置里挪到会自动更新的注册中心,告别硬编码 IP;
- 3.2 讲 gRPC 与 protobuf,把服务间调用从 HTTP+JSON 升级为强类型接口契约;
- 3.3 讲 API 网关,把鉴权、限流与路由收敛到统一入口;
- 3.4 讲链路追踪,一次请求横跨三四个服务,慢在哪一环必须看得见。
这四章在时间顺序上正是我们团队去年踩坑最密集的一段:从硬编码地址引发的下线故障开始,一路换 gRPC、上网关、补追踪。如果正在规划服务间通信,选型背景可以先翻 单体拆分的代价 和 技术选型对齐表,网络基础看 服务上云篇。
