一、nginx簡介
nginx是一個高性能的HTTP服務器和反向代理服務器。它起初是俄羅斯人Igor Sysoev開發的,至今支撐者俄羅斯的很多大型的網站。
二、nginx支持的三種負載均衡策略
輪詢:將請求依次輪詢發給每個服務器。
最少鏈接:將請求發送給持有最少活動鏈接的服務器。
ip哈希:通過哈希函數決定請求發送給哪個服務器。
權重:服務器的權重越高,處理請求的概率越大。
三、輪詢負載均衡
在nginx.conf配置文件中添加如下配置,此配置有三臺服務器提供支付服務。
http { upstream CashServers { server CashServers1.com; server CashServers2.com; server CashServers3.com; } server { listen 80; location / { proxy_pass http://CashServers; } }}
需要注意以下幾點
1.缺省配置就是輪詢策略;
2.nginx負載均衡支持http和https協議,只需要修改 proxy_pass后協議即可;
3.nginx支持FastCGI, uwsgi, SCGI,memcached的負載均衡,只需將 proxy_pass改為fastcgi_pass, uwsgi_pass, scgi_pass,memcached_pass即可。
4.此策略適合服務器配置相當,無狀態且短平快的服務使用。
四、最少鏈接負載均衡
http { upstream CashServers { least_conn; server CashServers1.com; server CashServers2.com; server CashServers3.com; } server { listen 80; location / { proxy_pass http://CashServers; } }}
需要注意以下幾點
1.最少鏈接負載均衡通過least_conn指令定義;
2.此負載均衡策略適合請求處理時間長短不一造成服務器過載的情況;
五、ip哈希負載均衡
http { upstream CashServers { ip_hash; server CashServers1.com; server CashServers2.com; server CashServers3.com; } server { listen 80; location / { proxy_pass http://CashServers; } }}
需要注意以下幾點
1.ip哈希負載均衡使用ip_hash指令定義;
2.nginx使用請求客戶端的ip地址進行哈希計算,確保使用同一個服務器響應請求;
3.此策略適合有狀態服務,比如session;
六、權重負載均衡
http { upstream CashServers { server CashServers1.com weight=3; server CashServers2.com weight=2; server CashServers3.com weight=1; } server { listen 80; location / { proxy_pass http://CashServers; } }}
需要注意以下幾點
1. 權重負載均衡需要使用weight指令定義;
2. 權重越高分配到需要處理的請求越多;
3.此策略可以與最少鏈接負載和ip哈希策略結合使用;
4.此策略比較適合服務器的硬件配置差別比較大的情況;
七、健康檢測
nginx內置了針對服務器的健康檢測機制,如果特定服務器請求失敗,則nginx即可進行標記待下次就不會請求分配給它。max_fails定義失敗指定次數后進行標記服務器不可用。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答