nginx如何實現負載均衡

2021-09-24 11:58:56 字數 906 閱讀 6080

nginx是乙個http伺服器。是乙個使用c語言開發的高效能的http 伺服器/反向**伺服器及電子郵件(imap/pop3)**伺服器。nginx能夠支撐5萬併發鏈結,並且cpu、記憶體等資源消耗卻非常低,執行非常穩定。

反向**(reverseproxy)方式是指以**伺服器來接受internet上的連線請求,然後將請求**給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連線的客戶端,簡單來說就是真實的伺服器不能直接被外部網路訪問,想要訪問必須通過**。

負載均衡也是 nginx常用的乙個功能,當一台伺服器的單位時間內的訪問量越大時,伺服器壓力就越大,大到超過自身承受能力時,伺服器就會崩潰。為了避免伺服器崩潰,讓使用者有更好的體驗,我們通過負載均衡的方式來分擔伺服器壓力。我們可以建立很多很多伺服器,組成乙個伺服器集群,當使用者訪問**時,先訪問乙個中間伺服器,在讓這個中間伺服器在伺服器集群中選擇乙個壓力較小的伺服器,然後將該訪問請求引入該伺服器。如此以來,使用者的每次訪問,都會保證伺服器集群中的每個伺服器壓力趨於平衡,分擔了伺服器壓力,避免了伺服器崩潰的情況。負載均衡配置一般都需要同時配置反向**,通過反向**跳轉到負載均衡。

nginx負載均衡要兩台或以上的應用伺服器 , 並且在nginx.conf中寫入相關配置,主要是對proxy_pass,upstream的使用。

每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。

指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。

每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器。

其它所有的非backup機器down或者忙的時候,請求backup機器。所以這台機器壓力會最輕。

表示單前的server暫時不參與負載。

按後端伺服器的響應時間來分配請求,響應時間短的優先分配,與weight分配策略類似。

Nginx實現負載均衡

負載均衡 建立在現有網路結構之上,它提供了一種廉價有效透明的方法擴充套件網路裝置和伺服器的頻寬 增加吞吐量 加強網路資料處理能力 提高網路的靈活性和可用性。負載均衡,英文名稱為load balance,其意思就是分攤到多個操作單元上進行執行,例如web伺服器 ftp伺服器 企業關鍵應用伺服器和其它關...

nginx實現負載均衡

目錄結構 conf 配置目錄 html 靜態頁面目錄 logs 日誌目錄 sbin 主程式 nginx支援的負載均衡方式 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的...

nginx實現負載均衡

初步設想 1個前端伺服器 n個應用伺服器,實現不宕機發布。前提 後端應用共享session,可以考慮redis實現。初步實驗 nginx 2個tomcat執行測試 先準備乙個nginx,nginx.conf檔案內容如下 然後準備2個tomcat 設定埠分別為8084 8086。在root資料夾下面各...