Eureka之负载均衡(Ribbon)


1.Ribbon和Nginx区别

Nginx服务器负载均衡: 客户端所有请求都会交给nginx,然后由nginx实现转发请求,即负载均衡是由服务端实现。nginx服务负载均衡适合于针对服务器端,比如:tomcat、jetty等

Ribbon本地负载均衡 :在调用接口的时候、会在eureka注册中心上获取注册信息服务列表,获取到之后,缓存在jvm本地,使用本地实现rpc远程技术进行调用,即是客户端实现负载均衡。ribbon本地负载均衡适合微服务rpc远程调用,比如:dubbo,springcloud等

2.负载均衡之实现

 控制器中测试代码:

@Controller
public class TestController {
@Autowired
private RestTemplate restTemplate;
@RequestMapping(value ="/test",method = RequestMethod.GET)
@ResponseBody
public Object test() {
//根据服务端注册的服务,调用相应方法
return restTemplate.getForEntity("http://eurekaClient/testEureka",String.class).getBody();
}
}
在配置类中添加以下代码
@Bean
@LoadBalanced//轮询方式
public RestTemplate restTemplate(){
return new RestTemplate();
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM