springcloud 入门 4 (rebbon源码解读)
Ribbon:
ribbon是springcloud个服务之间调用的一种实现方式:主要提供了客户端的负载均衡。feign集成了Ribbon(下节介绍)
源码分析:
1> 源码入口 @LoadBalanced

2> @LoadBalanced 注解接口实现:

3> loadBanlanced 都是在spring-cloud-commons包中

最终实现类是 RibbonLoadBalancerClient。集成关系如下:

4> RibbonLoadBalancerClient 类详解: 在spring-cloud-netflitx-ribbon包中:

根据上面介绍,最终调的服务由choose方法决定,那我们来进一步看看choose方法: 下面是方法调用流程

5> 负载均衡的实现 IRule 和iPing实现:

IPing:判断服务器是否启动:isAlive方法

IRule: 路由实现(在服务器启动的实现。选择哪个服务进行响应)

剩下源码有兴趣的可以继续追,我就介绍到这了
本文来自博客园,作者:huhy,转载请注明原文链接:https://www.cnblogs.com/huhongy/p/9578024.html

浙公网安备 33010602011771号