Linux系列學習精要(四)
- 2019 年 10 月 6 日
- 筆記
一、在雲計算中,應用的集群實現的初級方案–負載均衡如何實現?
隨着互聯網訪問用戶的不斷增長,單台服務器打遍天下的時間將很快過去,能力再強的服務器也會面臨天花板。因此,採用多台廉價X86服務器對外同時提供服務,採用負載均衡進行服務器的業務調度,成為當前應用集群的實現必然之路。如下圖。

負載平衡器對外提供一個IP地址,隱藏內部真實服務器的IP地址,通過多種方式進行真實服務器能力的調度。
1、輪詢算法
負載平衡器通過將業務請求輪流發送到不同的真實服務器,每台真實服務器獲得的業務請求均衡,該方式默認各真實服務器的能力相同,未考慮各真實服務器的真實業務當前負載。
2、加權算法
如果後台的真實服務器的能力不相同,那麼可以為能力強的服務器分配較高的權重,相應收到的業務請求流量也會較多。
3、最小連接數算法
負載平衡器根據後台不同真實服務的當前連接數,自動平衡負載,為連接數較少的機器填補業務流量,達到均衡負載的作用。
不同的負載平衡器支持的平衡算法還很多,如源地址散列等,最終目標都是讓不同的業務請求能否根據業務需求放置到最適合的真實服務器中進行應用執行。
二、在雲計算中,數據庫的集群實現的初級方案–主備、主主如何實現?
應用的集群相應好做,因為應用程序服務器中未存儲用戶的數據信息,所有的信息均存儲在數據庫中,經常負載均衡器任意增減應用程序服務器的數量均不會對業務造成影響。
但數據庫服務器中放置了用戶的真實數據,任意增減應用程序服務器會對業務帶來真正的影響。那如何實現數據庫的集群呢?在業內有以下幾種方式。
1、主主模式
以Mysql為例,通過分庫、分表的模式將數據庫服務器實現集群,多台服務器同時支撐一個數據庫實例的運轉。單台數據庫服務器通過數據多副本、或者主備的模式,實現單台數據庫服務器的穩定性提高。

2、主備模式
以Mysql為例,將單台數據庫服務器的數據實現雙寫,主用服務器實同讀寫,備用服務器僅作為主用服務器故障時替換使用。

在業內,以Mysql為例,可以通過Mysql Proxy實現分庫分表的主主模式,通過Keepalived開源程序實現主備模式。