1. Github项目地址 https://github.com/zengzhen1994/springboot-learning (选择Springcloud-learning-1)
2. 在之前的服务注册、发现、消费之后添加熔断功能。
3. 添加服务消费者的代码
pom部分导入Hystrix依赖包
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
Service层加入Hystrix熔断处理部分
package com.zz.springcloud.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
@Service
public class PlusService {
@Autowired
RestTemplate restTemplate;
@HystrixCommand(fallbackMethod = "Fallback")
public String plus() {
return restTemplate.getForEntity("http://EUREKA-SERVICE/plus?number=0", String.class).getBody();
}
public String Fallback() {
return "fall back";
}
}
4.效果
开启服务状态,发送请求到http://localhost:83/plusone
关闭服务之后,再次访问,则熔断