服务提供者【test-provider8001】
Openfeign远程调用服务提供者搭建
文章地址http://t.csdnimg.cn/06iz8
相关接口
测试远程调用:http://localhost:8001/payment/index
服务消费者【test-consumer-resilience4j8004】
Openfeign远程调用消费者搭建
文章地址http://t.csdnimg.cn/06iz8
依赖
<!-- resilience4j隔离依赖 --><dependency><groupId>io.github.resilience4j</groupId><artifactId>resilience4j-bulkhead</artifactId><version>1.7.0</version></dependency><!-- resilience4j --><dependency><groupId>io.github.resilience4j</groupId><artifactId>resilience4j-spring-cloud2</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-circuitbreaker-resilience4j</artifactId></dependency>
application.yml
resilience4j:#信号量隔离bulkhead:instances:# 实例名称:自己定义的名称,对应@Bulkhead的namebackendA:# 隔离允许并发线程执行的最大数量maxConcurrentCalls: 5# 当达到并发调用数量时,新的线程的阻塞时间maxWaitDuration: 20ms
OrderController【控制层】
/*** 测试信号量隔离** @return*/@GetMapping("/bulkhead")@Bulkhead(name = "backendA", type = Bulkhead.Type.SEMAPHORE)//name:对应的配置名,type:隔离类型-信号量/线程public String bulkhead() throws InterruptedException {log.info("************** 进入方法 *******");TimeUnit.SECONDS.sleep(10);String index = paymentFeignService.paymentIndex();log.info("************** 离开方法 *******");return index;}
相关接口
测试信号量隔离:http://localhost:8004/order/bulkhead
jmeter测试思路
此配置隔离并发线程最大数量为5,所以jmeter我们采用大于5个线程进行测试