nginx中http模塊中upstream模塊的簡單示例

本文所指的upstream是Nginx的http模塊中的內容,Nginx在1.9版本後加入了stream模塊,使Nginx可實現四層協議的轉發、代理或者負載均衡等功能,其中也有upstream模塊。與stream不同的是http模塊工作在七層。
對Nginx來說,upstream可以在nginx上將後端服務器定義爲服務器組,將不同後端不同的服務器劃分爲不同的組,再經過不同組內的調度算法實現負載均衡。和緩存設置類似,upstream需要先在http下定義,再被調用,方可正常使用。
示例:

http {
……
upstream webserver { #定義名爲webserver的組
    server 192.168.1.111:80;
        server 192.168.1.222:80; #將後端兩臺主機定義到webserver組內

}

以上其實就已經將一個 upstream組定義完成了,定能實現組調度功能了,但是還比較粗糙,在其中還能更精細化的定義其他功能參數:
weight=number; #定義組內各主機的權重
max_conns=number; #定義最大連接數
max_fails=number; #定義健康狀態監測,檢測最大number數若依然失敗,則判斷爲服務器不可用了。
fail_timeout=time; #定義健康狀態檢測,檢測失敗的超時時長,若在設定時間內依然諒解失敗,則判斷服務器不可用了
backup; #設定當所有組內server都不可用時,將所有請求跳轉至backup標記的server。
down; #手動將serverdown掉,例行維護是會使用到。
ip_hash #基於源IP進行hash算法調度,算法較粗糙,會與back_up衝突

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章