一、Ribbon简介
在之前我们已经学习过服务器的负载均衡,通过nginx实现的。既然有服务器的负载均衡,那也有客户端的负载均衡,就是Ribbon。
执行流程:
用户向nginx发起请求,nginx根据权重访问所代理中的一个服务器,也就是applicationClient,applicationClient通过ribbon进行负载均衡算法计算出访问的application service的uri,根据uri访问applicationservice
二.为什么叫做ribbon 叫做客户端负载均衡
由于Ribbon是在ApplicationClient方使用,所以称为客户端负载均衡
三.Ribbon原理
在项目开发中,所有的项目都会注册到Eureka中,允许不同项目的spring.application.name相同的,当相同时会认为这些项目是一个集群.
ApplicationClient会从Eureka中根据spring.application.name加载ApplicationService的列表,根据设定的负载均衡算法,从列表中取出一个URL,到此Ribbon的事情就结束了,剩下的事情由程序员自己进行技术选型,选择一个HTTP协议工具,通过这个URL调用service
注意:以下事情和Ribbon没有关系的
Application Service注册到Eureka过程。这是Eureka的功能。
Application Client从Eureka取出注册列表。这是Eureka的功能。
Application Client 通过URL访问Application Service。具体实现可以自己进行选择使用哪个HTTP工具。
只有Application Client从Eureka中取出列表后进行负载均衡算法的过程和Ribbon有关系。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2331.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...