1.代理與反向代理
代理服務器:
代理
內部網絡對
Internet的連接請求。
不支持外部對內部網絡的訪問請求。
反向代理服務器:
代理
外部網絡上的主機訪問
內部網絡。
2.常見WEB負載均衡方法
(1)用戶手動選擇
常見於各個資源下載網站,用戶自己手動選擇從哪個服務器下載。
(2)DNS輪詢方式
對同一主機名,添加多條
A記錄,讓其DNS輪詢多個IP
可以通過Linux的dig命令查看域名解析情況:
dig xxx.baidu.com
DNS輪詢的缺點:
A.可靠性低
B.負載分配不均衡
因此DNS輪詢適用於可靠性要求不高的負載均衡,比如圖片服務器集群、純靜態網頁服務器集群等。
(3)四/七層負載均衡設備
通常作用與OSI的第四層或第七層
OSI:開放系統互連模型(Open System Interconnection)
具體7層 | 數據格式 | 功能與連接方式 | 典型設備 |
應用層 Application | | 網絡服務與使用者應用程序間的一個接口 | 網關 |
表示層 Presentation | | 數據表示、數據安全、數據壓縮 | |
會話層 Session | | 建立、管理和終止會話 | |
傳輸層 Transport | 數據組織成數據段Segment | 用一個尋址機制來標識一個特定的應用程序(端口號) | 防火牆 |
網絡層 Network | 分割和重新組合數據包Packet | 基於網絡層地址(IP地址)進行不同網絡系統間的路徑選擇 | 路由器 |
數據鏈路層 Data Link | 將比特信息封裝成數據幀Frame | 在物理層上建立、撤銷、標識邏輯鏈接和鏈路復用 以及差錯校驗等功能。通過使用接收系統的硬件地址或物理地址來尋址 | 網橋、交換機、網卡 |
物理層Physical | 傳輸比特(bit)流 | 建立、維護和取消物理連接 | 光纖、同軸電纜、 雙絞線、中繼器和集線器 |
3.多線多地區智能DNS解析與混合負載均衡方式
4.Nginx反向代理配置
使用反向代理之后,后端WEB服務器(以PHP為例),就不能直接通過$_SERVER['REMOTE_ADDR']變量來獲取用戶的真實IP了,這時獲取的將是Nginx負載均衡服務器的IP。此時需要在Nginx反向代理時添加Header頭信息X-Forwarded-For,讓后端服務器能通過$_SERVER['HTTP-X-FORWORDED-FOR']獲取用戶真實IP。參考平時我們常用的獲取用戶IP的函數。
5.動靜態網頁分離
Citrix NetScaler 4-7層負載均衡器(基於TCP)
Nginx負載均衡架構

6.關鍵的Upstream模塊
Upstream:Nginx負載均衡的主要模塊,位於http之內,默認的負載均衡方式為輪詢。
ip_hash:負載均衡時,將某個客戶端IP的請求,通過哈希算法,定位到同一台后端服務器上,以解決session不共享的問題。
如果能做到session共享,還是不要用這個配置,因為其可能造成負載不均衡。
摘除負載均衡服務器,需要設置其down,而不是刪除記錄,刪除記錄可能造成session失效(原來的back1hash到back2上去了)
upstream backend{
ip_hash;
server back1.10jqka.com.cn;
server back2.10jqka.com.cn;
server back3.10jqka.com.cn down;
}
server
語法:
server name [parameters]
默認none
name可以是域名、IP、端口號、UNIX Socket
parameters可以是
7.負載均衡服務器的雙機高可用
兩種實現方式:
(1)一台主服務器加一台熱備服務器
(2)兩台負載均衡服務器