1. 程式人生 > >Linux集群類型、系統擴展方式及調度方法簡述

Linux集群類型、系統擴展方式及調度方法簡述

目標 linux集群 處理請求 導致 nec linu 受限 復制 用戶

linux集群類型:
LB 負載均衡集群
將用戶請求合理的分配至後端服務器處理,使集群負載平衡,並合理利用計算資源。
HA 高可用集群
在集群中關鍵的單點主機出現故障時,可能會導致整個集群癱瘓,這時就需要對這些關鍵的單點主機做冗余,以提高集群的可用性
冗余主機會對關鍵的單點主機做心跳檢測,檢測到故障便會接手原服務器的服務,這種集群類型就屬於高可用HA(high availabllity)集群
HP 高性能集群

linux集群系統擴展方式
當受限於單臺主機硬件軟件時,或者說當應用需求超出現有硬件資源時,通常有兩種方案來解決:
1.用更好的主機來代替性能更好的主機(向上擴展)
2.組合多臺主機來完成單個任務,將任務分散處理(向內擴展),這就是通常所說的負載均衡集群(load balancing cluster)簡稱為LB集群

帶來的問題:
1>分散處理用戶請求容易解決,但跟蹤或追蹤用戶請求將會成為難題,
例如某用戶在A時刻瀏覽A商品並加入了購物車,這一請求是集群中A服務器處理的,
而在B時刻瀏覽另一商品並加入購物車,這一請求很有可能會由集群中B服務器來處理。如何同步或追蹤用戶請求和瀏覽記錄?
2>集群中同一任務的主機之間如何同步?當用戶上傳文件到集群的A主機後,如何使用戶請求B主機時也能查找到此文件?
解決:
1>
a.會話粘性,可將用戶請求綁定在某臺主機上,只要是同一用戶發送的請求都會只發送到固定的主機上(會話粘性),但當此臺服務器宕機會出現問題
cookie
用戶綁定 (IP)
b.session復制集群,將各臺主機的session進行同步復制,但雖然解決了會話粘性的依賴,但會帶來更大的問題,每臺主機都會存儲大量的session,主機之間會不停的復制,這樣就占用了大量的資源,不適合大型集群
c.session共享存儲服務器,集群中每臺服務器產生的session都保存在共享的內存存儲服務器上
2>共享存儲
LVS負載均衡集群的調度方式:
靜態算法:只根據調度算法來分配,而不考慮後端的實際連接情況
①.rr 輪詢(Round Robin),顧名思義,就是指將請求按一定的規律或順序平均分配給後端主機處理,這種方式適合後端處理請求的主機之間性能差異很小的情況
②.wrr 加權輪詢(Weighted Round Robin),當後端處理請求的主機之間性能差異較大時,就需要使性能較差的主機相對少的處理任務,式性能較強的主機盡可能多的處理任務,這時用加權輪詢是比較方便易用的辦法
③.sh 源地址hash調度,以原地址作為關鍵字做靜態hash表來確定需要的RS。
④.dh 目標地址hash調度,以目標地址作為關鍵字做靜態hash表來確定需要的RS。
動態算法:根據後端RS連接的實際情況做分配
①.lc 最小連接數調度(least connection),將用戶請求分配到連接數最少的RS上,當所有RS連接數都為0時,會按輪詢方式來調度。
②.wlc 加權最小連接數調度(weighted least connection)將用戶請求分配至後端連接數最少且權重最高的RS。

Linux集群類型、系統擴展方式及調度方法簡述