Ribbon
spring.io 官网的简介:
Ribbon is a client side load balancer which gives you a lot of control over the behaviour of HTTP and TCP clients.
自己的翻译:
Ribbon是一个用来负载均衡的客户端,对于http和tcp客户端行为,Ribbon能给与你很多的控制方式。
在给Ribbon设置熔断器Hystrix的时候发现熔断器不起作用。
代码如下:
例子参考来源: http://blog.csdn.net/forezp/article/details/69934399
1 package com.example.demo; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker; 6 import org.springframework.cloud.client.discovery.EnableDiscoveryClient; 7 import org.springframework.cloud.client.loadbalancer.LoadBalanced; 8 import org.springframework.cloud.netflix.hystrix.EnableHystrix; 9 import org.springframework.context.annotation.Bean; 10 import org.springframework.web.client.RestTemplate; 11 /** 12 * 在工程的启动类中,通过 @EnableDiscoveryClient 向服务中心注册; 13 * 并且向程序的ioc注入一个bean: restTemplate; 14 * 并通过 @LoadBalanced 注解表明这个 restRemplate 开启负载均衡的功能。 15 * 16 * 17 * 熔断器的使用 18 * 在程序的启动类RibbonClientApplication 加 @EnableHystrix 注解开启Hystrix 不起作用 19 * 20 * 21 */ 22 @SpringBootApplication 23 @EnableDiscoveryClient //..... 24 //@EnableHystrix //......//注解不起作用 25 @EnableCircuitBreaker //注解起作用,查看官方文档可知 26 public class RibbonClientApplication { 27 28 public static void main(String[] args) { 29 SpringApplication.run(RibbonClientApplication.class, args); 30 } 31 32 @LoadBalanced //...... 33 @Bean 34 public RestTemplate restTemplate() { 35 return new RestTemplate(); 36 } 37 }