ribbon负载均衡
负载均衡Ribbon 在刚才的案例中,我们启动了一个itcast-service-provider,然后通过DiscoveryClient来获取服务实例信息,然后获取ip和端口来访问。 但是实际环境中,我们往往会开启很多个itcast-service-provider的集群。此时我们获取的服务列表中就会有多个,到底该访问哪一个呢? 一般这种情况下我们就需要编写负载均衡算法,在多个实例列表中进行选择。 不过Eureka中已经帮我们集成了负载均衡组件:Ribbon,简单修改代码即可使用。 什么是Ribbon: 接下来,我们就来使用Ribbon实现负载均衡。 启动两个服务实例 首先参照eureka启动两个ServiceProviderApplication实例,一个8081,一个8082。 Eureka监控面板: 开启负载均衡 因为Eureka中已经集成了Ribbon,所以我们无需引入新的依赖,直接修改代码。 修改service-consumer的引导类,在RestTemplate的配置方法上添加 @LoadBalanced 注解: @Bean @LoadBalanced public RestTemplate restTemplate() { return new RestTemplate(); } 修改调用方式,不再手动获取ip和端口,而是直接通过服务名称调用: