1. 程式人生 > 其它 >|NO.Z.00004|——————————|Applications|——|LBC負載均衡叢集.V1|----------------------------------|6臺server|

|NO.Z.00004|——————————|Applications|——|LBC負載均衡叢集.V1|----------------------------------|6臺server|



[Applications:LBC負載均衡叢集.V1]                                                                 [Applications.LBC&HAC$HPC]








一、LBC-介紹(負載均衡叢集介紹)
1、叢集拓撲圖 2、web負載均衡叢集拓撲
### --- web負載均衡叢集拓撲

~~~     使用者通過網際網路訪問到了網站,其實不是直接連線到web伺服器上,
~~~     若訪問到的主機是有web服務叢集的,其實訪問到負載均衡排程器,
~~~     負載均衡個排程器接收到訪問資料通過輪詢的方法發給真正的web伺服器。
~~~     若還要訪問資料庫,若是訪問量比較少的話,
~~~     可能是單個的資料儲存,資料量大的話可能是資料庫叢集。
~~~     負載均衡伺服器還有主備的叢集
~~~     此環境包含:負載均衡叢集,高可用,儲存叢集
3、負載均衡結構圖(上圖拆分出來的一部分) 4、負載排程器(最簡單的是輪詢)
### --- 負載排程器(最簡單的是輪詢)

~~~     負載排程器:
~~~     真實伺服器池:
5、分類:軟體/硬體
### --- LVS:
~~~     最普及的軟體負載均衡

### --- Nginx:
~~~     代理負載均衡的功能,企業版的:融合了監控nginx-plagues服務;
~~~     相當於是外掛的含義;HAProc:linux 中HA專案中的一個子專案;專門做負載排程器的。
~~~     四層的話沒有LVS廣;拆成7層的話沒有nginx用途廣。

### --- F5:硬體:
~~~     半圓球發紅光的去定位為F5
6、分類-工作層級
### --- 物理層:
~~~     負責實際的bite流傳輸,及其特性定義

### --- 資料鏈路層:
~~~     Mac地址互聯,Mac地址編址:交換機在這一層

### --- 網路層:
~~~     安全的編址,路由選擇,

### --- 傳輸層:
~~~     埠 確定傳輸協議,確定是UDP還是TCP的

### --- 會話層:
~~~     提供給使用者識別的部分

### --- 表示層:
~~~     提供給使用者識別的部分

### --- 應用層:
~~~     提供給使用者識別的部分
### --- 二層:
~~~     資料鏈路層:實現負載均衡:負載均衡排程器在這一層;典型的代表是F5 ,引入頻寬。
~~~     提升效能多買三大運營商的頻寬,介入到F5內部,會根據不同的而使用者用不同供應商的專線去提供資料。
~~~     F5可以判斷資料來源是哪個運營商,而提供最快的方案。

### --- 四層:
~~~     傳輸層:LVS典型代表,F5也是可以做的。
~~~     在這一層向下的都可以觀測到。
~~~     LVS可以根據埠,ip地址來判斷它是否需要進行負載排程

### --- 七層:
~~~     應用層:nginx典型代表,向下的6層它可以全部識別,
~~~     可以識別http/域名/主機名進行資料識別分發。
~~~     F5在七層也是可以實現的,可以和F5和LVS來實現負載再來一層nginx。
~~~     常規不需要這樣做。實現特定的功能。
二、LBC-原理(負載均衡叢集原理)
1、分類-四層工作邏輯
### --- 假設使用者地址是公網地址
### --- LVS也假設是公網地址:
~~~     對外暴露的是LVS的地址

### --- Apache為私有地址:
~~~     通過LVS轉化過去的公有地址。直接返回資料報文。
~~~     Apache是誰訪問我,我給誰資料。
~~~     LVS只是中間做了一個偽裝,LVS的壓力會非常大。導致宕機。
~~~     只做了地址偽裝,沒有把資料真實接收資料。
~~~     在Apache壓力大的持續疊加Apache伺服器的時候,LVS壓力是最大的,需要配置高可用。
~~~     LVS資料只是把地址偽裝,更換地址資訊的更改,沒有進行真實的資料資料儲存和資料傳輸。
~~~     沒有實際的資料轉發。
~~~     進行了一次完整的TCP連線。只把地址偽裝後為使用者轉發資料。
~~~     不涉及到真實的轉發
2、分類-七層工作邏輯
### --- 使用者會發送一個數據報文到nginx負載排程器。

### --- 源地址是使用者訪問地址;
~~~     源埠依賴nginx隨機埠,藉助nginx的規則庫。分發給Apache伺服器,
~~~     會根據當前的演算法,想後端伺服器去要資料,
~~~     Apache會接收到nginx的請求,返回給nginx伺服器。兩個不同的tcp檔案。
~~~     源變為負載均衡伺服器;直接不會告訴Apache不是客戶要的資料,
~~~     而是我要的。nginx收到資料後,把資料重新封裝後反饋給使用者。
~~~     這裡進行了兩次不同的完整的TCP連線以及訪問。
~~~     對nginx的壓力最大。所有的資料都會進行過重新封裝分發。
~~~     nginx是輕量級的,但在負載均衡上來說,壓力是比較大的。
~~~     涉及到資料的真實轉發
3、分類-訪問量:LVS是nginx代理的上百倍, 三、適用場景
### --- LVS:
~~~     B/S C/S 可以代理任何TCP/UDP    TCP裡面還有http協議,這就是BS結構,  mysql是C/S結構,

### --- NGINX:C/S:
~~~     只能代理/C/S結構,只能識別到http協議;
~~~     標準版本,識別協議,埠,主機名,IP都是可以識別到的。
~~~     nginx的負載均衡壓力會很大,在有些場景下還是需要nginx來做負載,
~~~     在特定需要直接進行資料轉發會使用。








===============================END===============================


Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart                                                                                                                                                    ——W.S.Landor



來自為知筆記(Wiz)