日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

熔断,限流

發(fā)布時間:2024/4/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 熔断,限流 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

講完降級,我們來講講熔斷,其實熔斷,就好像我們生活中的跳閘一樣, 比如說你的電路出故障了,為了防止出現(xiàn)大型事故 這里直接切斷了你的電源以免意外繼續(xù)發(fā)生, 把這個概念放在我們程序上也是如此, 當(dāng)一個微服務(wù)調(diào)用多次出現(xiàn)問題時(默認是10秒內(nèi)20次當(dāng)然 這個也能配置),hystrix就會采取熔斷機制,不再繼續(xù)調(diào)用你的方法(會在默認5秒鐘內(nèi)和電器短路一樣,5秒鐘后會試探性的先關(guān)閉熔斷機制,但是如果這時候再失敗一次{之前是20次} 那么又會重新進行熔斷) 而是直接調(diào)用降級方法,這樣就一定程度上避免了服務(wù)雪崩的問題

這個東西光筆記不太好測試,只能你們自己去測試了

限流

限流, 顧名思義, 就是限制你某個微服務(wù)的使用量(可用線程)

hystrix通過線程池的方式來管理你的微服務(wù)調(diào)用,他默認是一個線程池(10大小) 管理你的所有微服務(wù),你可以給某個微服務(wù)開辟新的線程池:

@RequestMapping("/feignOrder.do") @HystrixCommand(fallbackMethod = "fallbackOrderMethod" ,threadPoolKey = "order",threadPoolProperties ={@HystrixProperty(name = "coreSize",value = "2"),@HystrixProperty(name = "maxQueueSize",value = "1"}) public Object feignOrder(String name){System.out.println(1);return restTemplate.getForObject(ORDERURL+"/order.do",Object.class); }

threadPoolKey 就是在線程池唯一標(biāo)識, hystrix 會拿你這個標(biāo)識去計數(shù),看線程占用是否超過了, 超過了就會直接降級該次調(diào)用

比如, 這里coreSize給他值為2 那么假設(shè)你這個方法調(diào)用時間是3s執(zhí)行完, 那么在3s內(nèi)如果有超過2個請求進來的話, 剩下的請求則全部降級

?

總結(jié)

以上是生活随笔為你收集整理的熔断,限流的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。