伺服器負載之Nginx
負載均衡硬體裝置:如F5 BIG-IP、Citrix NetScaler、Radware
負載均衡軟體:nginx (反向代理功能和靈活的負載均衡策略)
負載均衡即是將負載分攤到不同的服務單元,既保證服務的可用性,又保證響應足夠快,給使用者很好的體驗。
nginx的負載均衡策略可以劃分為兩大類:
1.內建策略包含加權輪詢和ip hash,在預設情況下這兩種策略會編譯進nginx核心,只需在nginx配置中指明引數即可。
2.擴充套件策略有很多,如fair、通用hash、consistent hash等,預設不編譯進nginx核心。
加權輪詢:
兩點需要注意,第一,如果可以把加權輪詢演算法分為先深搜尋和先廣搜尋,那麼nginx採用的是先深搜尋演算法,即將首先將請求都分給高權重的機器,直到該機器的權值降到了比其他機器低,才開始將請求分給下一個高權重的機器;第二,當所有後端機器都down掉時,nginx會立即將所有機器的標誌位清成初始狀態,以避免造成所有的機器都處在timeout的狀態,從而導致整個前端被夯住。
ip hash:
hash值既與ip有關又與後端機器的數量有關。經過測試,上述演算法可以連續產生1045個互異的value,這是該演算法的硬限制。對此nginx使用了保護機制,當經過20次hash仍然找不到可用的機器時,演算法退化成輪詢。因此,從本質上說,ip hash演算法是一種變相的輪詢演算法,如果兩個ip的初始hash值恰好相同,那麼來自這兩個ip的請求將永遠落在同一臺伺服器上,這為均衡性埋下了很深的隱患。
fair
其原理是根據後端伺服器的響應時間判斷負載情況,從中選出負載最輕的機器進行分流。
ab -n 100 -c 10 http://www.baidu.com
相關文章
- nginx負載伺服器Nginx負載伺服器
- nginx學習之負載均衡Nginx負載
- [Open Source] 負載均衡之Nginx負載Nginx
- Nginx負載均衡反向代理伺服器Nginx負載伺服器
- Nginx負載均衡之健康檢查Nginx負載
- Nginx 兩臺伺服器配置負載均衡!!!Nginx伺服器負載
- nginx+fastcgi搭建高負載伺服器NginxAST負載伺服器
- NGINX 負載均衡Nginx負載
- nginx負載均衡Nginx負載
- Nginx負載配置Nginx負載
- 【Nginx】負載均衡Nginx負載
- 負載均衡之--Nginx、LVS、HAProxy負載Nginx
- Nginx伺服器的使用與反向代理負載均衡Nginx伺服器負載
- Nginx負載均衡模式Nginx負載模式
- Nginx--負載均衡Nginx負載
- nginx 負載均衡搭建Nginx負載
- Nginx負載均衡策略Nginx負載
- 解析 Nginx 負載均衡Nginx負載
- nginx轉發swoole以及nginx負載Nginx負載
- 負載均衡之LVS與Nginx對比負載Nginx
- Nginx 負載均衡策略之加權輪詢分析Nginx負載
- Nginx負載均衡詳解Nginx負載
- Nginx負載均衡高可用Nginx負載
- nginx實現負載均衡Nginx負載
- 【Nginx】Nginx反向代理和負載均衡部署Nginx負載
- Nginx搭建反向代理負載均衡和web快取伺服器Nginx負載Web快取伺服器
- nginx之 nginx + tomcat + redis 負載均衡且session一致性NginxTomcatRedis負載Session
- 利用nginx做後臺伺服器的動態載入和負載均衡Nginx伺服器負載
- Nginx服務系列——負載均衡Nginx負載
- 使用Nginx配置TCP負載均衡NginxTCP負載
- Nginx中的負載平衡方法Nginx負載
- 使用nginx進行負載均衡Nginx負載
- 使用nginx負載均衡nodejsNginx負載NodeJS
- Nginx 負載均衡原理解讀Nginx負載
- Nginx負載均衡配置說明Nginx負載
- Nginx + IIS 實現負載均衡Nginx負載
- nginx與IIS伺服器搭建叢集實現負載均衡(一)Nginx伺服器負載
- 如何使用 Weave 以及 Docker 搭建 Nginx 反向代理/負載均衡伺服器DockerNginx負載伺服器