笔记
3、Feign结合Hystrix断路器开发实战《上》
简介:讲解SpringCloud整合断路器的使用,用户服务异常情况 1、加入依赖 注意:网上新旧版本问题,所以要以官网为主,不然部分注解会丢失 最新版本 2.0 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency> 2、增加注解 启动类里面增加注解 @EnableCircuitBreaker 注解越来越多-》 SpringCloudApplication注解 3、API接口编码实战 熔断-》降级 1)最外层api使用,好比异常处理(网络异常,参数或者内部调用问题) api方法上增加 @HystrixCommand(fallbackMethod = "saveOrderFail") 编写fallback方法实现,方法签名一定要和api方法签名一致(注意点!!!) 补充: 修改maven仓库地址 pom.xml中修改 <repositories> <repository> <id>nexus-aliyun</id> <name>Nexus aliyun</name> <layout>default</layout> <url>http://maven.aliyun.com/nexus/content/groups/public</url> <snapshots> <enabled>false</enabled> </snapshots> <releases> <enabled>true</enabled> </releases> </repository> </repositories>开始
spring cloud整合官方文档
http://cloud.spring.io/spring-cloud-netflix/single/spring-cloud-netflix.html#_circuit_breaker_hystrix_clients 搜索关键字 How to Include Hystrix先加入依赖。在order service里面加入依赖 maven如果下载比较慢的话,百度一下换成阿里云的maven地址 只作用于当前项目的阿里云地址org.springframework.cloud spring-cloud-starter-netflix-hystrix
复制到最下面nexus-aliyun Nexus aliyun default http://maven.aliyun.com/nexus/content/groups/public false true
启动类里面加注解
@EnableCircuitBreaker
下单Controller修改
SpringCloudApplication这一个注解包含上面那几个注解。所以可以用这一个注解替换上面的注解
编码
上面的方法为了和下面的保持一致,所以这里也用Map包装起来 启动应用。orderService和ProductService 注解中心看到两个服务已经有了。 这是正常的情况下 请求到的数据 如果某一天服务挂了。把ProductService这个服务停掉。 再去访问OrderService 以上就是熔断后降级的操作