ribbon

ribbon

1.介绍

springcloud中,提供一个客户端组件,用来负载均衡的访问某个服务用的
实现内部服务调用另一个服务的客户端
ribbon启动之后,作为eureka的客户端,到eureka注册中心动态抓取服务提供者列表(30秒重新抓取一次),可以实现动态对服务负载均衡的访问(绕过了nginx,也绕过了静态页面,也无需nginx和后台服务进行绑定),ribbon需要依赖restTemplate,来发起http请求

2.ribbon实现负载均衡逻辑

1.ribbon启动时,根据eureka客户端角色,到注册中心抓取所有的服务map,将抓取的数据保存在内存中的map
2.restTemplate发起请求之前做拦截和替换,根据请求地址中的服务名,找到map中的key,拿到微服务节点的信息list,根据负载均衡逻辑进行轮询访问(默认轮询)

ribbon