1、你对Ribbon的理解?
Ribbon的功能分成三部分:
1、服务的发现。去Nacos Client上找到服务列表,并储存在Ribbon中。(就是前端通过服务名去访问我们的服务,这个时候我们的Ribbon会根据服务名找到服务对应的ip地址和端口)
2、服务调用的负载均衡。如果有多个ip地址和端口的话,那么这个时候,就要调用负载均衡的算法,去计算出应该访问那一个服务器,然后将请求中的服务名换成IP地址和端口去发送http请求过去访问者就是Ribbon的主要功能
3、IPing--主要的功能是发送请求到列表中的服务判断这个服务是否还活着。
2、Ribbon的底层是什么?
Rbibbon的底层是拦截器,当我们使用http://服务名//服务请求的地址,发送请求后,会被拦截器给拦截住,然后取出这个服务名,通过用户名去NacosClient上去找服务列表的信息,进行服务名的替换,一个就直接替换,多个就使用负载均衡的算法,算出来进行更换。
3、Ribbon的负载均衡和Nginx的负载均衡有啥区别?
Ribbon的负载均衡是服务器的负载均衡
Nginx的负载均衡是客户端的负载均衡
两者计算应该访问那个服务器的位置不一样,在客户端发送请求的时候就是在客户端进行的计算,在服务端的负载均衡就是服务器进行计算然后分发的。
4、在Ribbon中你在配置负载均衡的时候,如何给单个服务配置,以及给所有服务配置共同策略?
单个配置,直接yml中配置,所有就AppConfig里面进行配置,配置谁就new谁的对象进行返回,放到IOC容器中就可以了