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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hystrix实战--资源隔离技术简介

發布時間:2023/12/16 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hystrix实战--资源隔离技术简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

hystrix中,其實最核心的一個功能就是資源隔離,就是將多個依賴服務的調用分別隔離到各個資源的內部,避免因為依賴服務的失敗或者延遲,導致服務所有的線程資源花費在這個傷害,繼而導致服務崩塌。

線程池隔離和信號量隔離

hystrix中主要有兩種資源隔離的技術:線程池隔離和信號量隔離。
使用場景:
線程池隔離技術:大部分的場景下其實都適合用這種技術,對于依賴服務的調用以及訪問;能解決場景的timeout的場景,可以避免調用線程阻塞住。
信號量隔離技術:
通常是針對超大并發量的場景,每個服務實例的QPS都非常高,如果用線程池,可能撐不住那么高的并發,如果要撐住,可能要耗費大量的線程資源,那么就是用信號量,來進行限流保護。
也就是說適合你的訪問不依賴于外部服務,而只是訪問內部的一些復雜的業務邏輯,由于他是內部訪問,不存在timeout的問題,適合比較復雜邏輯的業務代碼,防止大量的線程被這些邏輯給卡死,影響系統的穩定性。

區別:
線程池隔離技術,不是去控制web容器的線程,而是使用了線程池隔離技術,控制的是web容器中線程的執行,而非web容器本身的線程。

和信號量隔離有什么區別呢?比如說是一個容量為20的線程池和信號量個數,線程池其實是用自己的線程去調用web容器,而信號量隔離是直接讓web容器的線程直接去調用依賴服務;前者會拋出異常,web容器的執行線程中可以捕獲到,然后做進一步的處理。 而后者是直接返回。

資源隔離的相關概念

對于每一個command來說,其實都可以設置自己的名稱,并且設置自己的分組command group。

command group:非常重要的概念,默認情況下,就是通過command group來定義一個線程池的,而且還會通過command group來聚合一些監控和報警信息;同一個command group中的請求,都會進入同一個線程池中。

command線程池
threadpool key代表了一個HystrixThreadPool,用來進行統一監控,統計,緩存;默認的threadpool key就是command group名稱;每個command都會跟它的threadpool key對應的threadpool綁定在一起,如果不想直接用command group,也可手動設置threadpool name。

command threadpool VS command group VS command key
command key:代表了一類command,一般來說,抽象成底層的依賴服務的其中一個接口.

command group:代表了某一個底層的依賴服務,一個依賴服務可能會暴露出來多個接口,每個接口就是一個command key;在邏輯上去組織起來一堆command key的調用,統計信息,成功次數,timeout超時次數,失敗次數,可以看到某一個服務整體的一些訪問情況

command threadpool :一般來說,推薦是根據一個服務去劃分出一個線程池,command key默認都是屬于同一個線程池的.

一般來說,command group是對應一個服務,多個command key對應該服務的多個接口,多個接口的調用共享同一個線程池;如下圖:

當然如果說commandkey 需要用自己的線程池,也是可以自行定義。

coreSize

設置線程池的大小,默認是10

queueSizeRejectionThreshold
控制queue滿后reject的容量,maxQueueSize不允許熱修改,因此提供這個參數可以熱修改,控制隊列的最大大小;HystrixCommand在提交到線程池之前,其實會先進入一個隊列中,這個隊列滿了之后,才會reject。這個機制其實跟之前的說的線程池的工作原理非常的相近。

execution.isolation.semaphore.maxConcurrentRequests:
設置使用SEMAPHORE隔離策略的時候,允許訪問的最大并發量,超過這個最大并發量,請求直接被reject

總結

以上是生活随笔為你收集整理的hystrix实战--资源隔离技术简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。