目录
- 1.`Sentinel` 整合 `Feign` 示例
-
- 1.1. 创建 `SpringCloud` 项目如下图
- 1.2. `Sentinel-Feign-Provider`的 `Controller`
- 1.3. `Sentinel-Feign-Provider`的配置文件
- 1.4. `Sentinel-Feign-consumer` 的 `Controller`
- 1.5. `Sentinel-Feign-consumer` 的 `Service` 层
- 1.6. `Sentinel-Feign-consumer` 的 `Feign` 接口
- 1.7. `Sentinel-Feign-consumer` 的配置文件
- 1.8. 分别启动三个子模块应用,进行测试
- 2. `Sentinel` 整合 `Gateway`
- 3. `SpringCloud` 整合 `Sentinel`
1.Sentinel
整合 Feign
示例
1.1. 创建 SpringCloud
项目如下图
具体项目代码可以查看:https://gitee.com/chaojiangcj/sentinel-feign-parent.git
1.2. Sentinel-Feign-Provider
的 Controller
@Controller
public class ProviderController {
@ResponseBody
@RequestMapping(path = "/hello", method = RequestMethod.GET)
public String hello() {
return "你好,Sentinel";
}
}
1.3. Sentinel-Feign-Provider
的配置文件
server.port=8080
spring.application.name=Sentinel-Feign-Provider
eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka/
1.4. Sentinel-Feign-consumer
的 Controller
@Controller
public class ConsumerController {
@Autowired
private ConsumerService consumerService;
@ResponseBody
@RequestMapping(path = "/helloAgent", method = RequestMethod.GET)
public String helloAgent() {
return consumerService.helloAgent();
}
}
1.5. Sentinel-Feign-consumer
的 Service
层
@Service
public class ConsumerServiceImpl implements ConsumerService {
@Autowired
private FeignAgent feignAgent;
@Override
public String helloAgent() {
return feignAgent.feignHello();
}
}
1.6. Sentinel-Feign-consumer
的 Feign
接口
@FeignClient(name = "Sentinel-Feign-Provider", fallback = FeignAgentFallback.class)
public interface FeignAgent