1.nginx到底能做什麼
1)反向**
由於真實伺服器不能被外部網路直接訪問,所以通過**伺服器把internet上的連線請求**給同在乙個內部網路上的伺服器,再把從伺服器上得到的結果返回給客戶端,可以是不同伺服器,也可以是同一臺伺服器,只是埠不同而已
2)負載均衡:根據一定規則(負載均衡策略)把不同的請求分配到不同的伺服器上執行,nginx目前支援自帶的3種負載均衡策略,2種常用的第三方策略。
(1)rr(round robin),把請求按照時間順序逐一分配到不同的後端伺服器上,即第乙個請求分類到第乙個伺服器,第二個請求分配到第二個伺服器,直到最後乙個伺服器也分配到請求,再輪轉到第乙個伺服器,如果有伺服器down掉,能自動剔除。
(2)權重,指定輪詢機率,weight和訪問率成正比,比如有兩個伺服器,乙個weight=999,乙個weight=1,指1000個請求中有999次訪問第乙個伺服器,剩下一次請求訪問第二個伺服器,這個策略通常用於伺服器效能不均的情況。
(3)ip-hash,每個請求按訪問ip的hash結果進行分配,保證同乙個ip訪問同一臺伺服器,使得每個ip的session資訊儲存在同一臺伺服器裡
(4)fair(第三方):按照後端伺服器的響應時間來分配,響應時間短的優先分配
(5)url_hash(第三方):按訪問url的hash結果來分配請求,使每個url定向到同乙個後端伺服器
以上5種策略根據實際使用情況不同進行選擇,具體的策略配置方法有待深入學習
3)http伺服器,nginx本身是乙個靜態資源的伺服器,如果**只是靜態頁面的話可以通過nginx來試下部署。此外,nginx還可用來實現動靜分離。
動靜分離是讓動態**裡的動態網頁根據一定規則把不變的資源和經常變的資源區分開,動靜資源做好了拆分以後,可以根據靜態資源的特點做快取操作,這就是**靜態化處理的核心思路。我們可以把html,css,js以及通過nginx返回客戶端,而tomcat只需要處理jsp和請求。
4)正向**:客戶端才能實現正向**。客戶端提出請求並指定原始伺服器,**伺服器向原始伺服器轉交請求並將獲得的內容返回給客戶端。
2.負載均衡
1)負載均衡是高可用架構的乙個關鍵元件,主要用來提高效能和可用性,通過負載均衡把流量分發到多個伺服器,同時多伺服器能夠消除這部分的單點故障。
2)負載均衡大多用於處理http、https流量,還可以處理tcp和udp流量(比如對資料庫集群的訪問、dns)
3)負載均衡演算法
4)健康監測,通過協議和埠嘗試連線伺服器,使伺服器處於監聽
5)負載均衡如何處理狀態——a.ip-hash,b.粘性回話(帶有cookie的session)
6.負載均衡雙機熱備(hot standby)
以上這些只是理論知識,具體的配置和實現還需更深入的學習。
負載均衡和Nginx
負載均衡 在web應用中,一般乙個應用在生產環境都會集群部署,然後通過負載均衡將請求分發到不同的伺服器進行處理。負載均衡有硬體和軟體之分,硬體如f5,軟體有nginx。使用負載均衡,可以優化資源利用率,最大化吞吐量,減少延遲,再者系統的伸縮性和可靠性也得到了相應的保障。負載均衡有響應的策略,每種策略...
nginx 負載均衡 Nginx負載均衡策略
nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...
nginx負載均衡和lvs負載均衡的比較分析
2010 04 13 11 11 16 lvs和nginx都可以用作多機負載的方案,它們各有優缺,在生產環境中需要好好分析實際情況並加以利用。首先提醒,做技術切不可人云亦云,我雲即你雲 同時也不可太趨向保守,過於相信舊有方式而等別人來幫你做墊被測試。把所有即時聽說到的好東西加以鑽研,從 而提高自己對...