SpringCloud Ribbon初步应用(十)

Ribbon是客户端负载均衡,所以肯定集成再消费端,也就是consumer端

修改microservice-student-consumer-80

引入依赖,pom.xml 加入 ribbon相关依赖


    org.springframework.cloud
    spring-cloud-starter-eureka


    org.springframework.cloud
    spring-cloud-starter-ribbon


    org.springframework.cloud
    spring-cloud-starter-config

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

SpringCloud Ribbon初步应用(十)_第1张图片

 

我们的微服务应用名称是 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;

你可能感兴趣的:(SpringCloud,Java,java,开发语言)