負載均衡: 一聽這詞很多小伙伴嚇壞了,前人就喜歡搞一些看起來很高大上的詞,好讓後生望而敬畏.那我們一起來捋一捋. 負載就是負擔. 均衡就是平均分.這樣 一說就是負擔平均分. 伺服器也要減減壓 我們都知道伺服器是第三產業,服務行業,客戶來了,你不能不服務.客戶少還行,客戶多了一臺伺服器就頂不住了,怎麼 ...
負載均衡:
一聽這詞很多小伙伴嚇壞了,前人就喜歡搞一些看起來很高大上的詞,好讓後生望而敬畏.那我們一起來捋一捋. 負載就是負擔. 均衡就是平均分.這樣 一說就是負擔平均分.
伺服器也要減減壓
我們都知道伺服器是第三產業,服務行業,客戶來了,你不能不服務.客戶少還行,客戶多了一臺伺服器就頂不住了,怎麼辦?我們找來多台伺服器,讓這些伺服器去均分客戶然後服務響應.或者讓某些伺服器只乾一類時,來提高效率.
那麼如何讓我們的代理伺服器知道哪些伺服器是可以去幹活的,而且擅長乾什麼活呢?這個時候就需要我們去配置了.
編輯nginx.conf文件(註意 upstream {} 配置信息必須在 Server {} 配置的外部,不是 Server {} 的裡面)
upstream itbsl {# 伺服器集群的組名
server 192.168.3.110:80 weight=1 max_fails=2 fail_timeout=30s;
server 192.168.3.111:80 weight=1 max_fails=2 fail_timeout=30s;
#server 伺服器的ip:埠號 權重 最大失敗次數 最大連接時間
}
說明:
- weight的值越大,表明這台伺服器辦事效率高,老闆喜歡,有事了,找他的概率大.
- max_fails要說明的是,你找這台伺服器辦事,叫他2次如果還不理你,你不要對他報以希望了.
- fail_timeout要說的是,給這台伺服器一件小事讓它辦,30s還沒辦完,算了,不靠譜,不要等了,找其他人吧.
Nginx中的幾種負載均衡方式
- 輪詢(預設)
每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。 - weight
指定輪詢幾率,weight和訪問比率成正比,用於後端伺服器性能不均的情況。 - ip_hash
每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題。 - fair(第三方)
按後端伺服器的響應時間來分配請求,響應時間短的優先分配。 - url_hash(第三方)
按訪問url的hash結果來分配請求,使每個url定向到同一個後端伺服器,後端伺服器為緩存時比較有效。