爲何採用nginx+lvs的架構

nginx和lvs都做爲反向代理的表明,都有什麼不一樣呢

nginx是基於第七層協議開發的,採用異步轉發的原則,即在保持客戶端連接的同時新起一個連接到負載均衡的服務端,等待服務端返回數據再返回給客戶端。這麼作有一個好處,nginx能夠失敗轉移(failover),即若是和某個服務端的連接不通暢,能夠換一個連接,能夠服務的穩定性。

lvs是基於第四層協議開發的,採用同步轉發的原則,即lvs監聽到端口有連接時,會直接redirect到服務端,讓服務端直接與客戶端進行連接。這樣作有一個弊端,就是一錘子買賣,若是請求失敗了不會再作失敗轉移。

那麼爲何有了nginx還有lvs

  • 由於nginx這種轉發模式註定全部流量都要打在nginx上,有帶寬瓶頸。lvs其實是不直接創建連接的。採用nginx和lvs混合使用能夠高質量的服務更多的連接
相關文章
相關標籤/搜索