一 hystrix的作用
1.1 降级,熔断,限流
1.服务降级: A方案出现问题,切换到兜底方案B;
2.服务熔断:触发规则,出现断电限闸,服务降级
3.服务限流:限制请求数量。
二 案例配置
2.1 流程图
2.2 消费者搭建工程
2.2.1 9008消费者
注意:因为要读取nacos的配置文件,resouce下的application和bootstrap这连个配置文件必须配置。
2.2.2 nacos的配置
2.2.3 配置pom
<!--包含了sleuth+zipkin-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!--nacos-config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--SpringCloud ailibaba nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 引入自己定义的api通用包,可以使用Payment支付Entity -->
<!-- SpringBoot整合Web组件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--日常通用jar包配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
2.2.4 配置文件
1.applicaion配置文件
spring:
profiles:
active: dev # 表示开发环境
#active: test # 表示测试环境
#active: info
2.bootstrap配置
server:
port: 9008
spring:
application:
name: fegin-nacos-hystrix-consumer9008
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
#采样率值介于 0 到 1 之间,1 则表示全部采集
probability: 1
cloud:
nacos:
discovery:
server-addr: localhost:8848
#server-addr: 192.168.152.2:80
config:
server-addr: localhost:8848 #Nacos作为配置中心地址
file-extension: yaml #指定yaml格式的配置
group: DEV_GROUP_ljf0814
namespace: 6b8b2de9-3ae6-417f-8da4-60a7d6c7bd2a
2.3.5 controller
2.2.5 service
2.2.6 启动类
2.2.7 启动服务访问
1.启动slueth
2.启动nacos
3.访问:http://localhost:9008/consumer/payment/nacos/111
2.3 提供者搭建工程