您好,登錄后才能下訂單哦!
這篇文章主要講解了“RPC擁塞控制的方法是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“RPC擁塞控制的方法是什么”吧!
我們說RPC發生擁塞現象,它實際上是一種資源請求相互影響的結果,而這個相互影響的最根本原因是我們沒有對它們進行更一步的分離,而是冗余在了一起進行處理。這里首先要改進的是劃分出優先級關系,每個優先級對應一個隊列,比如Q0,Q1,Q3,然后定義一個規則,數字越小的,優先級越高。
隊列優先級劃分好之后,很重要的一個操作就是優先級的確認,在這里我們當然不會人工的設置請求的優先級,一種比較通用的,比較智能是算法是根據請求發生頻率確定優先級,對于用戶而言,要做的是指定這個規則,具體地來說,比如3個隊列,Q1隊列的請求,請求頻率在0~10%之間,Q2則是10~50%,剩余50以上的為Q3隊列,轉變為實際數量的話,就是100個請求內,請求了50次以上的歸為Q2優先級隊列,10次以內的為Q0隊列。重新再來看之前看到的擁塞現象,導致擁塞現象的大部分請求,就會被分到同樣的隊列了,從而在后續的處理中,可以減少對于其它優先級隊列的影響了。
其次在這里,頻率的計數統計還要考慮到時限的問題,因為頻率統計是要針對在一定時間內的,比如A時段的頻率不可能完全與B時段的一樣,也不可能一直被延用。在這里HADOOP-9640提到了一種衰減算法,前面時段內的計數結果通過衰減因子在下一輪的計算中,占比逐步衰減,這種做法比完全清零統計要平滑許多。
其實各個請求被分到各個優先級隊列中后,后面的處理就有很多樣的玩法了。比如說,最簡單的,用輪詢的方式從各個隊列中取出一定的批次請求。在這里,我們提到一種更加靈活的做法,在輪詢的大背景下,再針對各個隊列設置一個理論保障比重。比如3個優先級隊列,Q0,Q1,Q2,配置權重比如9,4,1。意為在一次輪詢處理中,在后面的15個請求內,保證處理掉Q0隊列的9次請求,Q1的4次請求,以及Q2的一次請求。
感謝各位的閱讀,以上就是“RPC擁塞控制的方法是什么”的內容了,經過本文的學習后,相信大家對RPC擁塞控制的方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。