Spring Cloud(5) Feign - 熔斷機(jī)制

目標(biāo)

  • 模擬實(shí)現(xiàn)熔斷機(jī)制

account增加Hystrix依賴

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
        </dependency>

account 增加fallBack處理

@Component
public class WalletRemoteFallBack implements WalletRemoteService {
    @Override
    public String getWallet() {
        return "fall back";
    }
}

配置開啟hystrix

# 端口號
server.port=8000

# 服務(wù)名
spring.application.name=account

# eureka服務(wù)注冊中心地址
eureka.client.serviceUrl.defaultZone=http://localhost:5000/eureka/

spring.cloud.loadbalancer.retry.enabled=true

feign.hystrix.enabled=true

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=10000

ribbon.ConnectTimeout=3000
ribbon.ReadTimeout=3000
ribbon.OkToRetryOnAllOperations=true
ribbon.MaxAutoRetries=1
ribbon.MaxAutoRetriesNextServer=1

遠(yuǎn)程調(diào)用類修改

@FeignClient(value = "wallet",fallback = WalletRemoteFallBack.class)
public interface WalletRemoteService {

    @GetMapping("getWallet")
    String getWallet();

}

關(guān)閉wallet應(yīng)用,并啟動account

訪問 http://localhost:8000/userInfo

image.png

可以看出觸發(fā)熔斷機(jī)制,返回 fallBack 信息

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容