【SpringCloud学习】ribbon负载均衡(Greenwich版)

ribbon负载均衡

Ribbon是一个基于HTTP和TCP客户端的负载均衡器。Feign中也使用Ribbon,后续会介绍Feign的使用。

准备工作

此时访问 http://localhost:8000/

可以看到COMPUTE-SERVICE服务有两个单元正在运行:

192.168.1.129:eureka-client-a:8011

192.168.1.129:eureka-client-a:8001

ribbion服务搭建

1、maven依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</appendency>
    <groupId>org.springframework.cloud</groupId>
    <ework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>

2、创建RestTemplate

    @Bean
    @LoadBalanced
    RestTemplate restTemplate() {
        return new RestTemplate();
    }

只有配置了RestTemplate,ribbon才会自动配置成功。

3、服务消费

@Autowired
RestTemplate restTemplate;


@GetMapping(value = "ribbon")
public String add() {

    return restTemplate.getForEntity("http://EUREKA-CLIENT-A/hello?name=zwd",String.class).getBody();
}

4、application.properties配置

spring.application.name=spring-cloud-ribbon
server.port=8003
eureka.client.serviceUrl.defaultZone=http://localhost:8000/eureka/

项目搭建完成,现在启动项目spring-cloud-ribbon

多次访问 http://localhost:8003/ribbon,分别查看控制台输出信息

2019-02-19 19:00:07.622  INFO 3878 --- [nio-8001-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2019-02-19 19:00:07.630  INFO 3878 --- [nio-8001-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 8 ms
hello zwd!
hello zwd!
2019-02-19 18:59:47.519  INFO 3885 --- [nio-8011-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 8 ms
hello zwd!
hello zwd!
hello zwd!
hello zwd!
hello zwd!
hello zwd!
hello zwd!

可见两个服务负载均衡架构。


文章作者: Ciwei
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Ciwei !
 上一篇
【SpringCloud学习】Config分布式统一配置中心(Greenwich版) 【SpringCloud学习】Config分布式统一配置中心(Greenwich版)
Config分布式统一配置中心config简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,
2019-07-20
下一篇 
【SpringCloud学习】HyStrilx服务熔断降级方式(Greenwich版) 【SpringCloud学习】HyStrilx服务熔断降级方式(Greenwich版)
HyStrilx服务熔断降级方式HyStrilx简介断路器模式源于Martin Fowler的Circuit Breaker一文。“断路器”本身是一种开关装置,用于在电路上保护线路过载,当线路中有电器发生短路时,“断路器”能够及时的切断故障
2019-07-20
  目录