首页 > 编程知识 正文

springcloud的注册中心,springcloud的优势

时间:2023-05-06 09:49:41 阅读:152815 作者:3058

Ribbon是SpringCloud (本地)客户端负载平衡器

一.原理负载均衡算法:总请求数%服务器数=服务下标

@ restcontrollerpublicclassribboncontroller {//可以获取注册中心的服务列表@ autowiredprivatediscoveryclientdiscoveryclient; @ autowiredprivaterestemplateresttemplate; @ beanpublicresttemplateresttemplate () { return new RestTemplate ); } private int reqCount=1; @requestmapping((/ribbonrember ) ) /服务地址stringinstancesurl=this.getinstance s ) ) if (实例URL!=' ' ) {//httpclient远程调用result=rest template.getforobject (instances URL,String.class ); } return result; }publicstringgetinstances((//相应服务服务器的远程呼叫地址listserviceinstancelist=discovery client.getinstance s (Allen-) ) String url=' '; if (! collectionutils.isempty(list ) (intserviceindex=req count % list.size ); reqCount; 服务实例=list.get (服务索引; url=instance.getUri ().toString ); } return url; (二) Ribbon与Nginx的区别1、Ribbon的本地负载均衡,在调用接口时,在eureka注册中心获取注册服务列表,按jvm本地缓存的原理,将rpc远程调用技术降级这意味着客户端是复杂且均衡的。

2、Nginx是服务器的负载均衡,客户端的所有请求都传递给Nginx,Nginx实现传输请求。 也就是说,服务器端的负载均衡。

3、应用场景:

ribbon本地负载均衡器适用于来自dubbo、springcloudnginx服务器负载均衡器等服务器rpc的远程调用,适用于tomcat等服务器端

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。