日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • nginx負載均衡的5種策略
    • 1、輪詢(默認)
    • 2、weight
    • 3、ip_hash
    • 4、fair(第三方)
    • 5、url_hash(第三方)
  • 負載均衡的五種策略
    • 負載均衡實現的方法
      • HTTP重定向負載均衡
      • DNS域名解析負載均衡
      • 反向代理負載均衡
      • 網絡層負載均衡
    • 總結

      nginx負載均衡的5種策略

      要理解負載均衡,必須先搞清楚正向代理和反向代理。

      負載均衡的幾種常用方式

      1、輪詢(默認)

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

      upstream backserver {
          server 192.168.0.14;
          server 192.168.0.15;
      }

      2、weight

      指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。

      upstream backserver {
          server 192.168.0.14 weight=3;
          server 192.168.0.15 weight=7;
      }

      權重越高,在被訪問的概率越大,如上例,分別是30%,70%。

      3、ip_hash

      上述方式存在一個問題就是說,在負載均衡系統中,假如用戶在某臺服務器上登錄了,那么該用戶第二次請求的時候,因為我們是負載均衡系統,每次請求都會重新定位到服務器集群中的某一個,那么已經登錄某一個服務器的用戶再重新定位到另一個服務器,其登錄信息將會丟失,這樣顯然是不妥的。

      我們可以采用ip_hash指令解決這個問題,如果客戶已經訪問了某個服務器,當用戶再次訪問時,會將該請求通過哈希算法,自動定位到該服務器。

      每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。

      upstream backserver {
          ip_hash;
          server 192.168.0.14:88;
          server 192.168.0.15:80;
      }

      4、fair(第三方)

      按后端服務器的響應時間來分配請求,響應時間短的優先分配。

      upstream backserver {
          server server1;
          server server2;
          fair;
      }

      5、url_hash(第三方)

      按訪問url的hash結果來分配請求,使每個url定向到同一個(對應的)后端服務器,后端服務器為緩存時比較有效。

      upstream backserver {
          server squid1:3128;
          server squid2:3128;
          hash $request_uri;
          hash_method crc32;
      }

      在需要使用負載均衡的server中增加

      proxy_pass http://backserver/; 
      upstream backserver{ 
          ip_hash; 
          server 127.0.0.1:9090 down; (down 表示單前的server暫時不參與負載) 
          server 127.0.0.1:8080 weight=2; (weight 默認為1.weight越大,負載的權重就越大) 
          server 127.0.0.1:6060; 
          server 127.0.0.1:7070 backup; (其它所有的非backup機器down或者忙的時候,請求backup機器) 
      } 

      max_fails :允許請求失敗的次數默認為

      1.當超過最大次數時,返回proxy_next_upstream 模塊定義的錯誤

      fail_timeout:max_fails次失敗后,暫停的時間

      配置實例:

      #user  nobody;
      worker_processes  4;
      events {
      # 最大并發數
      worker_connections  1024;
      }
      http{
          # 待選服務器列表
          upstream myproject{
              # ip_hash指令,將同一用戶引入同一服務器。
              ip_hash;
              server 125.219.42.4 fail_timeout=60s;
              server 172.31.2.183;
          }
          server{
              # 監聽端口
              listen 80;
              # 根目錄下
              location / {
              # 選擇哪個服務器列表
                  proxy_pass http://myproject;
              }
          }
      }

      負載均衡的五種策略是什么?

      實行負載均衡的目的就是讓請求到達不同的服務器上。一次請求到服務器之間,有那么多環節,因此可以實現的方法也有很多種。

      負載均衡的五種策略

      1、輪詢(默認)每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。

      2、指定權重,指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。

      3、IP綁定 ip_hash,每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。

      4、fair(第三方)按后端服務器的響應時間來分配請求,響應時間短的優先分配。

      5、url_hash(第三方)按訪問url的hash結果來分配請求,使每個url定向到同一個后端服務器,后端服務器為緩存時比較有效。

      負載均衡實現的方法

      HTTP重定向負載均衡

      HTTP重定向負載均衡有一臺重定向服務器,它也是一臺普通的服務器,其唯一的功能就是根據用戶的HTTP請求計算一臺應用集群中服務器的地址,并將此地址寫入HTTP重定向響應中返回給用戶。

      這種方案實現起來簡單,但是需要瀏覽器請求兩次服務器才能完成。并且重定向服務器很容易編程瓶頸,因為一次重定向返回的過程,也是一次標準HTTP請求,如果集群內有10臺機器,那HTTP重定向服務器的流量將是應用服務器的10倍,如果有100臺估計就宕機了,所以伸縮性能受到了很大限制。使用302響應碼重定向不利于網站SEO。

      DNS域名解析負載均衡

      這是利用DNS處理域名解析請求的同時進行負載均衡處理的一種方案。在DNS中配置多個A記錄,每次域名解析請求都會根據負載均衡算法計算一個不同的IP地址返回。

      DNS域名解析負載均衡的優點是將負載均衡的工作轉交給DNS,省掉了網站管理維護負載均衡服務器的麻煩,同時還可以使用智能DNS可以基于地理位置或者ISP來做域名解析,用戶將會得到距離最近或者速度最快的一個服務器地址,這樣可以加快用戶的訪問速度,改善性能。

      但是這種方法也有很大的缺點,DNS是多級解析,每一級都會緩存DNS記錄,如果某個服務器變動了,DNS記錄更新的時間將會很長,這個速度取決于域名服務商。一般大型網站都會使用DNS域名解析,利用域名解析作為一級負載均衡手段。你可以使用 dig <域名> 的方法查看某個域名的A記錄,你會發現很多網站會有多條A記錄。

      反向代理負載均衡

      這種方法就是使用反向代理服務器,它一般在web服務器前面,這個位置也正好是負載均衡服務器的位置,所以大多數反向代理服務器同時也提供負載均衡的功能。由于web服務器不直接對外提供訪問,因此web服務器不需要使用外部IP,而反向代理服務器則需要配置雙網卡和內部外部兩套IP地址。

      反向代理服務器轉發請求是在HTTP協議層面,因此也叫應用層負載均衡,由于應用層在七層網絡模型中的第七層,所以一般也稱為七層負載均衡。優點就是和反向代理功服務器功能集成在一起,部署簡單。缺點是反向代理服務器是所有請求和響應的中轉站,其性能可能會成為瓶頸。

      網絡層負載均衡

      這種方法是在網絡層通過修改請求目標地址進行負載均衡,網絡層在七層網絡層模型的第四層,所以也叫做四層負載均衡,也叫做IP層負載均衡。

      請求達到負載均衡服務器后,由負載均衡服務器在操作系統內核進程獲取網絡數據包,根據負載均衡算法得到一臺真實web服務器的地址,然后修改請求的目的地址到這臺真實的web服務器地址,等到web服務器處理完成后,響應數據包回到負載均衡服務器,再將數據包源地址修改為自身的IP(負載均衡服務器的IP)地址發送給用戶瀏覽器

      這里關鍵在于真實無力web服務器響應數據包如何返回給負載均衡服務器。一種是源地址轉換(SNAT),第二種是負載均衡服務器作為網關服務器。網絡層的負載均衡在內核進程完成數據轉發,有更好的性能。但是由于響應請求的流量要經過負載均衡服務器,容易成為瓶頸。

      總結

      以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

      分享到:
      標簽:nginx 服務器 策略 解讀 負載均衡
      用戶無頭像

      網友整理

      注冊時間:

      網站:5 個   小程序:0 個  文章:12 篇

      • 51998

        網站

      • 12

        小程序

      • 1030137

        文章

      • 747

        會員

      趕快注冊賬號,推廣您的網站吧!
      最新入駐小程序

      數獨大挑戰2018-06-03

      數獨一種數學游戲,玩家需要根據9

      答題星2018-06-03

      您可以通過答題星輕松地創建試卷

      全階人生考試2018-06-03

      各種考試題,題庫,初中,高中,大學四六

      運動步數有氧達人2018-06-03

      記錄運動步數,積累氧氣值。還可偷

      每日養生app2018-06-03

      每日養生,天天健康

      體育訓練成績評定2018-06-03

      通用課目體育訓練成績評定