RPC框架的优化
服务注册
消费者如何知道提供者的调用地址呢?
我们需要注册中心来保存服务提供者的地址。消费者要调用服务时,只需从注册中心获取对应服务的提供者地址即可。注册中心可以使用redis。

负载均衡
如果有多个服务提供者,消费者应该调用哪个服务提供者呢?
我们可以给服务调用方增加 负载均衡 能力,通过指定不同的算法(比如轮询、随机、根据性能动态调用等)来决定调用哪一个服务提供者。

容错机制
如果服务调用失败,应该如何处理呢?
为了保证分布式系统的高可用,我们通常会给服务的调用增加一定的容错机制

剩余的优化问题:
- 服务提供者下线了怎么办?需要一个失效节点剔除机制。
- 服务消费者每次都从注册中心拉取信息,性能会不会很差?可以使用缓存来优化性能。
- 如何优化 RPC 框架的传输通讯性能?比如选择合适的网络框架、自定义协议头、节约传输体积等。
- 如何让整个框架更利于扩展?比如使用 Java 的 SPI 机制、配置化等等。

浙公网安备 33010602011771号