讀書筆記(一)負載均衡(演算法思想)

2021-09-14 07:26:32 字數 848 閱讀 1669

輪詢演算法把每乙個請求輪流傳送到到每乙個伺服器上,例如一共有6個伺服器產生了6個請求,這6個請求按照(1,2,3,4,5,6)的順序傳送,最後(1,3,5)的請求會被傳送到伺服器1,(2,4,5)的請求會被傳送到伺服器2,這種負載均衡稱為輪詢。

加權論尋是在輪詢的基礎上,根據伺服器的效能差異為伺服器賦予了一定的權值,例如伺服器1被賦予的權值為5,伺服器2被賦予的權值為1,那麼(1,2,3,4,5)請求會被傳送到1,(6)被傳送到伺服器2。

由於每個請求的連線時間不一樣,使用輪詢或者加權輪詢演算法的話,可能會讓一台伺服器當前連線數過大,而另一台伺服器的連線數過小,造成負載不均衡,例如(1,3,5)請求會被傳送到伺服器1,但是(1,3)很快就斷開連線了,此時只有請求(5)連線伺服器1,(2,4,6)請求傳送到伺服器2,且此時只有(2)的請求斷開,該系統繼續執行時伺服器2會承擔過大的負擔。

在最小連線的基礎上,根據伺服器的效能為每一台伺服器分配權重,再 根據權重計算出每一台伺服器能處理的連線數。

根據請求隨機傳送到伺服器上,和輪詢演算法類似,該演算法比較適合伺服器效能產不多的場景。

源位址雜湊演算法通過對客戶端ip雜湊計算得到乙個數值,用該數值對伺服器數進行取模運算,取模結果為目標伺服器的序號。

優點:保證同一ip的客戶端請求都會被hash到統一臺伺服器上。

缺點:不利於集群擴充套件(後台伺服器數量的變化會影響hash結果,可以採用一致性hash進行改進)

《Linux Unix設計思想》讀書筆記

這只是我自己的總結,其中一些我沒有深刻印象的東西就沒有列出來。其他的 1.nih not invented here 非我發明就要自己寫,要利用別人的優秀 2.三個系統 1 第乙個,初創系統 簡單,做出之前沒有的東西 2 第二個,專家系統 功能全,臃腫 3 第三個,改進系統 大幅優化,顛覆性,最優體...

Linux Unix設計思想 讀書筆記

初識erlang時感覺怪異的方法命名,寫shell指令碼時的恍然大悟,原來一切源頭都在 linux unix 設計思想 下面是我的讀書筆記,按照我自己的理解重新梳理了一下 盡快建立原型,尋找90 的解決方案,先執行起來再說 保持程式的小巧,一次做好一件事情 站在巨人的肩膀上 在原有軟體的基礎上進行加...

四種負載均衡演算法思想

若只是單純的使用random進行隨機的話,可以實現,但是如果伺服器的負載能力大小不一樣,就會造成配置高的伺服器處於空閒或者負載量小,而配置低的伺服器任務繁重。因此為每台伺服器 設定乙個權重來表明負載的能力大小。這是如何選取就有兩個方式,乙個是根據權重大小,向服務 器list集合中新增多少個,這樣做的...