Ribbon初步应用
Ribbon是客户端负载均衡,所以肯定集成再消费端,也就是consumer端
我们修改microservice-student-consumer-80
首先,引入依赖,pom.xml 加入 ribbon相关依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-ribbon</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency>
application.yml加
eureka: client: register-with-eureka: false #false 由于注册中心的职责就是维护服务实例,它并不需要去检索服务,所以也设置为false service-url: defaultZone: http://eureka2001.java1234.com:2001/eureka/,http://eureka2002.java1234.com:2002/eureka/,http://eureka2003.java1234.com:2003/eureka/
ribbon结合eureka来调用服务提供者;
SpringCloudConfig也改成 要加个负载均衡配置 @LoadBalanced
/** * 调用服务模版对象 * @return */ @Bean @LoadBalanced // 引入ribbon负载均衡 public RestTemplate getRestTemplate(){ return new RestTemplate(); }
因为和eureka整合,所以启动类StudentConsumerApplication_80 加个注解 @EnableEurekaClient
这里还有一个,要修改下StudentConsumerController的PRE_HOST,改成指定的微服务应用名称;
当然这里要先在服务提供者microservice-student-provider-1001的application.yml加下配置,指定下应用名称:
application:
name: microservice-student
我们的微服务应用名称是 microservice-student
所以服务调用者这边的控制器里PRE_HOST改成 http://MICROSERVICE-STUDENT即可;
上面配置好后,我们可以测试下;
先启动三个eureka,然后再启动服务提供者,再启动服务消费者;
执行 http://localhost/student/list
[{"id":1,"name":"张三","grade":"大一"},{"id":2,"name":"李四","grade":"大二"},{"id":3,"name":"王五","grade":"大三"},{"id":4,"name":"赵六","grade":"大四"}]
结果就出来了,说明配置OK;
上一篇:Ribbon简介
下一篇:Ribbon负载均衡