負載均衡(一)

2021-09-24 21:08:19 字數 1960 閱讀 2971

目錄

什麼是負載均衡

負載均衡分類

四層負載均衡

七層負載均衡

實現負載均衡的幾種方式

http重定向負載均衡

dns負載均衡

反向**負載均衡

ip負載均衡

資料鏈路層負載均衡(直接路由)

負載均衡演算法

靜態負載均衡演算法:

動態負載均衡演算法:

使用單機提供的集中式服務, 隨著使用者量的增加和業務的劇增, 單台伺服器不能很好的滿足日益增長的訪問量, 在效能和可用性方面都會遭遇瓶頸.

將應用部署在多台伺服器上, 多個伺服器組成的集群形式對外提供統一服務, **對外提供的統一的訪問入口, 當使用者請求這個訪問入口時, 會將使用者的請求分發到集群中不同的伺服器上, 這就是負載均衡.

在伺服器集群之前總會有一台負載均衡伺服器, 負載均衡裝置就是作為web伺服器的入口, 挑選一台合適的web伺服器, 將客戶端請求**給它處理

四層負載均衡工作在osi模型的第四層, 即傳輸層, 也就是tcp層

通過接受到客戶端的請求後, 通過修改資料報的目的ip位址+目的埠號, 將資料報**到對應伺服器. tcp的連線建立, 即三次握手, 是客戶端和伺服器直接建立的. 負載均衡裝置只是起到了乙個類似於**的作用.

七層負載均衡工作在osi的應用層.  

負載均衡裝置要根據真正的應用層內容再選擇伺服器. 只能先**最終的伺服器與客戶端建立三次握手連線, 才能接受到客戶端傳送的真正的應用層報文. 根據該報文中的某些字段, 來負載均衡到真正的伺服器上. 此時負載均衡伺服器更類似於乙個**伺服器, 會分別於客戶端和後端伺服器建立tcp連線.

瀏覽器向http重定向伺服器傳送請求後, 該伺服器將一台真實的伺服器位址寫入http響應頭的location, 向瀏覽器返回乙個重定向響應. 瀏覽器自動重新請求新的url, 完成自動跳轉.

缺點:瀏覽器需要兩次請求伺服器才能完成一次訪問, 效能較差. 重定向伺服器自身的負載較大, 可能成為效能瓶頸.

dns負責提供網域名稱解析服務, 當訪問某個站點時, 需要通過dns伺服器獲取網域名稱指向的ip位址. dns會完成網域名稱到ip位址的對映. 這樣的對映也可以是一對多的.可以在dns伺服器中配置網域名稱到多個真實ip位址的對映.

dns伺服器便充當了負載均衡排程器, 每次請求會根據負載均衡演算法返回不同的ip位址. 將使用者請求分發到多台機器上.

優點:缺點:

大型**總是利用dns作為第一層負載均衡, 網域名稱解析得到的一組伺服器並不是應用伺服器, 而是同樣提供負載均衡服務的內部伺服器. 內部伺服器再進行負載均衡, 將請求分發到真實伺服器上.

反向**伺服器處於web伺服器前面, 可以將請求根據負載均衡演算法**到不同的web伺服器上. web伺服器處理完後之後再返回給**伺服器, **伺服器返回給使用者. 反向**負載均衡伺服器工作在應用層. 比如nginx

缺點:反向**伺服器是所有請求和響應的中轉站, 其效能可能會成為瓶頸.

在網路層通過修改請求目標位址進行負載均衡.

資料報到達負載均衡伺服器後, 負載均衡伺服器在作業系統核心程序獲取網路資料報. 修改資料報的ip位址, 將響應**到真實伺服器, 在響應完成之後, 將響應資料報回到負載均衡伺服器. 將源ip位址修改為自身ip位址. 然後返回給使用者.

直接路由使工作在第二層. 通過修改資料報的mac位址, 將資料報**到實際的伺服器上. 負載均衡伺服器將請求的資料的目的mac位址修改為真實伺服器的位址,  由於web伺服器集群的虛擬ip位址和負載均衡伺服器的ip位址相同,  資料可以正常傳輸到達真實mac位址的伺服器.  處理完後之後傳送響應資料到**閘道器伺服器, 閘道器伺服器直接將請求傳送到使用者.

輪詢, 權重, ip雜湊, url雜湊.

動態負載均衡演算法: 根據cpu, io, 網路的處理能力決定如何分發請求. 根據後端伺服器的響應時間來分配請求.

負載均衡(一)為什麼需要負載均衡

通常我們專案開發都是在tomcat上完成的,當然這樣是有優點的,比如就是開發簡單,部署簡單,但是單個的tomcat有時候有時候就會有問題,它的容量有峰值,大概在300之間,可以用測試軟體jemeter進行壓力測試。而且如果tomcat出現問題的話,那麼整個專案就會出現故障,這是不可容忍的 單點故障,...

nginx 負載均衡 Nginx負載均衡策略

nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...

nginx學習負載均衡一

相關環境 192.168.3.40 apache 已發布 192.168.3.49 nginx 已發布 192.168.3.52 elb 1 相關依賴包安裝 yum update y yum y install gcc gcc gcc c pcre pcre devel zlib devel ope...