题目10:RPC 与微服务治理
📊 评分:— | 📅 完成时间:待完成
📝 题目
你们项目里的服务之间是如何通信的?一次 RPC 调用大致经过哪些步骤?服务注册发现、负载均衡、超时重试、熔断降级一般是怎么做的?
💬 我的回答
📖 参考答案
一、RPC 调用流程
- 消费方通过代理发起调用
- 根据服务名从注册中心拿到服务列表
- 负载均衡选择一个实例
- 通过网络协议发起远程调用
- 服务端反序列化、执行业务、返回结果
二、服务治理常见能力
- 注册发现:Nacos、Eureka、ZooKeeper
- 负载均衡:随机、轮询、一致性哈希、最少活跃数
- 超时重试:防止单次调用长时间阻塞
- 熔断降级:下游异常时快速失败,保护系统
- 限流隔离:防止故障扩散
三、面试重点
- 说清楚本地调用和远程调用的区别
- 说清楚序列化、网络通信、服务治理三个层面
- 重试必须强调幂等风险
🎯 面试标准话术
"一次 RPC 调用本质上是本地代理 + 服务发现 + 负载均衡 + 网络通信 + 序列化反序列化。真正难点不在于调通,而在于治理,包括超时、重试、熔断、限流和链路追踪。"