|NO.Z.00004|——————————|Applications|——|LBC負載均衡叢集.V1|----------------------------------|6臺server|
阿新 • • 發佈:2022-03-22
[Applications:LBC負載均衡叢集.V1] [Applications.LBC&HAC$HPC]
一、LBC-介紹(負載均衡叢集介紹)
1、叢集拓撲圖 2、web負載均衡叢集拓撲
3、負載均衡結構圖(上圖拆分出來的一部分) 4、負載排程器(最簡單的是輪詢)### --- web負載均衡叢集拓撲 ~~~ 使用者通過網際網路訪問到了網站,其實不是直接連線到web伺服器上, ~~~ 若訪問到的主機是有web服務叢集的,其實訪問到負載均衡排程器, ~~~ 負載均衡個排程器接收到訪問資料通過輪詢的方法發給真正的web伺服器。 ~~~ 若還要訪問資料庫,若是訪問量比較少的話, ~~~ 可能是單個的資料儲存,資料量大的話可能是資料庫叢集。 ~~~ 負載均衡伺服器還有主備的叢集 ~~~ 此環境包含:負載均衡叢集,高可用,儲存叢集
### --- 負載排程器(最簡單的是輪詢)
~~~ 負載排程器:
~~~ 真實伺服器池:
5、分類:軟體/硬體
6、分類-工作層級### --- LVS: ~~~ 最普及的軟體負載均衡 ### --- Nginx: ~~~ 代理負載均衡的功能,企業版的:融合了監控nginx-plagues服務; ~~~ 相當於是外掛的含義;HAProc:linux 中HA專案中的一個子專案;專門做負載排程器的。 ~~~ 四層的話沒有LVS廣;拆成7層的話沒有nginx用途廣。 ### --- F5:硬體: ~~~ 半圓球發紅光的去定位為F5
### --- 物理層:
~~~ 負責實際的bite流傳輸,及其特性定義
### --- 資料鏈路層:
~~~ Mac地址互聯,Mac地址編址:交換機在這一層
### --- 網路層:
~~~ 安全的編址,路由選擇,
### --- 傳輸層:
~~~ 埠 確定傳輸協議,確定是UDP還是TCP的
### --- 會話層:
~~~ 提供給使用者識別的部分
### --- 表示層:
~~~ 提供給使用者識別的部分
### --- 應用層:
~~~ 提供給使用者識別的部分
二、LBC-原理(負載均衡叢集原理)### --- 二層: ~~~ 資料鏈路層:實現負載均衡:負載均衡排程器在這一層;典型的代表是F5 ,引入頻寬。 ~~~ 提升效能多買三大運營商的頻寬,介入到F5內部,會根據不同的而使用者用不同供應商的專線去提供資料。 ~~~ F5可以判斷資料來源是哪個運營商,而提供最快的方案。 ### --- 四層: ~~~ 傳輸層:LVS典型代表,F5也是可以做的。 ~~~ 在這一層向下的都可以觀測到。 ~~~ LVS可以根據埠,ip地址來判斷它是否需要進行負載排程 ### --- 七層: ~~~ 應用層:nginx典型代表,向下的6層它可以全部識別, ~~~ 可以識別http/域名/主機名進行資料識別分發。 ~~~ F5在七層也是可以實現的,可以和F5和LVS來實現負載再來一層nginx。 ~~~ 常規不需要這樣做。實現特定的功能。
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)