立足于SpringCloud.H + Netflix-Ribbon + Hystrix断路器(9)

穿精又带淫゛_ 提交于 2019-12-11 11:46:12

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

    《SpringCloud.H心法总纲》  

      继续上一篇,接下来Springcloud配置Netflix-Ribbon集成Hystrix断路器的功能。

1、添加依赖

<!--使用hystrix,测试断路器-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>

2、启动类

@EnableHystrix

3、controller层

修改之前的controller层,添加hystrix特有的fallbackMethod进行断路器

@RequestMapping(value = "/ribbon")
@RestController
public class LoadBalanceController {
    private Logger logger = LoggerFactory.getLogger(LoadBalanceController.class);

    @Autowired
    RestTemplate restTemplate;

    @GetMapping(value = "/toLoadBalance")
    @HystrixCommand(fallbackMethod = "ribbonHystrixError")
    public void toLoadBalance(){
        for (int i = 0; i < 10; i++){
            String str = restTemplate.getForObject("http://eureka-client/testRabbion",String.class);
            logger.info(str);
        }
    }

    public void ribbonHystrixError(){
        logger.info("ribbon error");
    }
}

4、启动测试

启动eureka-server,netflix-ribbon,调用接口

http://localhost:8075/ribbon/toLoadBalance

测试成功

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!