概述
在SpringCloud框架使用哪个好 负载均衡算法写在哪里
1、nginx负载是服务端的负载;ribbion的负载,是代码中微服务的负载(客户端负载);这两个负载并不冲突。
2、服务端负载:用户请求到了nginx以后,nginx负载决定把请求转发到哪台服务器;
(负载的列表是存在nginx服务端的,所以叫服务端负载)
3、客户端负载:ribbon是集成在服务消费端,他的负载是,
首先去注册中心获取到可以提供服务的列表,把这个服务列表缓存到本地
,然后自己决定去调用哪一个服务;(这里列表是存在(注册中心客户端)
,所以一般称为客户端负载)(所以在微服务中,如果注册中心运行期间宕机,
短时间之内并不影响服务消费者向服务生产者的调用。
只是不能获取到及时更新的服务里边,如果其中一个服务挂掉,
消费端并不能收到消息,所以长时间后会影响性能)
4、nginx服务端负载,和ribbion的客户端负载,并不冲突。再时间生产环境中,
一般都是两者共存。用户的请求进来以后,先经过nginx服务端负载,然后再进入微服务网关,执行ribbion的客户端负载;
5、nginx的负载均衡算法需要在nginx.cnf的配置文件的upstream标签里边配置;(轮循、权重、ip_hash)
6、ribbion的负载均衡算法需要在集成ribbion的客户端微服务里边配置,
增加配置类,在实例化ResTTemplate时配置负载方式;
我们项目中,还是用feign做消费端调用比较多,他底层就是集成了ribbion。
自己封装成了类似rpc方式的调用。默认用的是轮循,如果需要修改,
首先启动类里边实例化一个IRule,实例化他的不同接口,就可以实现不同的负载算法(7种)
最后
以上就是激昂小笼包为你收集整理的ribbion负载均衡和Nginx负载均衡的区别的全部内容,希望文章能够帮你解决ribbion负载均衡和Nginx负载均衡的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复