|NO.Z.00014|——————————|^^ 構建 ^^|——|多級負載.V1|-------------------------------------------|7臺server|
阿新 • • 發佈:2022-03-22
[Applications:多級負載.V1] [Applications.LBC&HAC$HPC] [|叢集|多級負載|七層負載|四層負載|多級負載構建|] [LVS-DR(四層)+nginx(七層)+3臺Apache(業務服務)|7臺server]
一、七層:實現原理
二、四層:實現原理### --- 七層:實現原理 ~~~ client發起連線到nginx,nginx把真實連線翻譯成它想要獲取的資料, ~~~ nginx向後端Apache服務建立完整的TCP連線訪問,獲得資料之後,再把資料傳輸給客戶端 ~~~ 相當於實現了一次反向代理,以反向代理的方式實現負載均衡。 ~~~ nginx具有識別主機名和FQ名稱的功能, ~~~ 所以它是可以判斷後端三臺Apache的主機名是誰,或者按照域名的方式進行負載均衡。 ~~~ nginx是一個七層負載,每一次client發起請求, ~~~ 它都需要建立兩次TCP連線,所以它的壓力是比較大的。
### --- 四層:實現原理
~~~ 使用LVS去實現,該模式是LVS-DR模式構建
~~~ client傳送報文到LVS,LVS去判斷你的埠和訪問的IP,
~~~ 若是這兩個匹配的情況下,會把client的發起的資料包轉移到後端的伺服器上。
~~~ 對應的伺服器接收到請求後把對應的資料返回給client
~~~ 判斷的依據是埠和VIP,不看域名,只負責入站,做到轉發,所以它的壓力比較大。
三、總結
四、需求:### --- 總結: ~~~ 若需要併發大的,通過埠和VIP判定的情況下會選擇四層構建 ~~~ 若是需要識別到域名的,若做虛擬主機叢集的負載均衡的話,會選擇七層構建
### --- 需求:
~~~ 公司有兩個不同域名的入口網站
~~~ 業務高分期訪問量較大,經測試Nginx未能滿足併發壓力
~~~ 兩個入口網站公網地址一致(根據以上條件判定只能選擇LVS負載呼叫)
五、架構
### --- 多級負載:架構 ~~~ 最外層方LVS,若使用LVS,中間還有兩個不同域名的主機 ~~~ client訪問進來之後到LVS,LVS根據演算法匹配到第一個Nginx, ~~~ Nginx裡面設定Vhost虛擬主機級別的負載均衡,去判斷你到底訪問的主機名是誰。 ~~~ 若是www.shangguigu.com-1或者www.shagguigu.com-2的話就會在第一臺nginx進行負載均衡, ~~~ 或者是www.shangguigu.cn的話就會直接排程到.cn主機上。這樣就實現了七層負載的功能。
六、多級負載構建
### --- 多級負載構建
~~~ 10.10.10.11——>LVS-DR
~~~ 10.10.10.12 10.10.10.13——>兩個七層負載nginx,
~~~ 若是生產環境中負載壓力更大的情況下,還可以在加入nginx,
~~~ 只要LVS-DR壓力沒到瓶頸的情況下還是可以繼續新增
~~~ 10.10.10.14:com-1 10.10.10.15:com-2 10.10.1016:cn
~~~ ——>3臺Apache業務伺服器;三臺不同的域名去實現不同的結果。
~~~ 客戶端通過IE訪問www.shagnguigu.com-1後nginx會在com-1和com-2上去輪詢,
~~~ 若是訪問cn的話就會直接跳轉到cn上。
===============================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)