dw做網(wǎng)站的所有流程seo競(jìng)價(jià)排名
服務(wù)提供者【test-provider8001】
Openfeign遠(yuǎn)程調(diào)用服務(wù)提供者搭建
文章地址http://t.csdnimg.cn/06iz8
相關(guān)接口
測(cè)試遠(yuǎn)程調(diào)用:http://localhost:8001/payment/index
服務(wù)消費(fèi)者【test-consumer-resilience4j8004】
Openfeign遠(yuǎn)程調(diào)用消費(fèi)者搭建
文章地址http://t.csdnimg.cn/06iz8
依賴
<!-- 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:# 重試機(jī)制,此處backendA是自己定義的名稱,對(duì)應(yīng)@Retry的nameretry:instances:# 實(shí)例名稱:自己定義的名稱,對(duì)應(yīng)@TimeLimiter中的namebackendA:# 最大重試次數(shù)maxRetryAttempts: 3# 固定的重試間隔,10中之內(nèi)重試三次waitDuration: 10s# 表示是否開(kāi)啟指數(shù)退避抖動(dòng)算法enableExponentialBackoff: true# 表示時(shí)間間隔乘數(shù)exponentialBackoffMultiplier: 2
OrderController【控制層】
/*** 測(cè)試重試機(jī)制** @return*/@GetMapping("/retry")@Retry(name = "backendA")//重試機(jī)制注解【會(huì)按照配置重試此接口】:name:對(duì)應(yīng)application.yml的重試機(jī)制配置名稱public CompletableFuture<String> retry() {log.info("********* 進(jìn)入方法 ******");//resilience4j一般用異步操作,此處使用lambda表達(dá)式CompletableFuture<String> completableFuture = CompletableFuture.supplyAsync((Supplier<String>) () -> (paymentFeignService.paymentIndex()));log.info("********* 離開(kāi)方法 ******");return completableFuture;}
相關(guān)接口
測(cè)試重試機(jī)制:
http://localhost:8004/order/retry