hjr-linux:nginx負載均衡

在集羣系統中,請求 ->nginx->分發到多個tomcat服務器

DNS層

可以採用一個DNS service 把請求的網址解析成多個ip,每個ip對應到一個tomcat服務器

服務器層

可以在nginx的conf文件中把多個服務器的ip配置好,然後設置轉發規則,對請求做反向代理轉發到不同Ip

  • 輪換轉發
  • 隨機轉發
  • 權重轉發

單點問題

只有一個nginx做轉發,如果故障,會出現單點問題

影子主機:可以弄兩個nginx,一個備用,一個出問題了轉到另一個

怎麼知道出問題了?

keepalived:可以定時給每個nginx發心跳,檢測哪個出問題了,自動把請求轉換到其他機器上

nginx有處理速度上限怎麼辦?

可以用lvs(Linux Virtual Server,Linux虛擬服務器):請求先到lvs(集羣)+keepalived(檢測lvs做主從切換),再轉發到nginx,再轉發到tomcat

當做爲負載均衡服務器的nginx和lvs處理相同的請求時,所有的請求和響應流量都會經過nginx;但是使用lvs時,僅請求流量經過lvs的網絡,響應流量由後端服務器的網絡返回。

當作爲後端的服務器規模龐大時,nginx的網絡帶寬就成了一個巨大的瓶頸。

nginx 工作在第七層(應用層),lvs 工作在第四層(傳輸層),當流量太大的時候可以用lvs做負載均衡

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