<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                #####upstream模塊相關說明 1、upstream模塊應放于nginx.conf配置的http{}標簽內 2、upstream模塊默認算法是wrr (權重輪詢 weighted round-robin) #####一、分配方式 Nginx的upstream支持5種分配方式,下面將會詳細介紹,其中前三種為Nginx原生支持的分配方式,后兩種為第三方支持的分配方式。 1、輪詢 輪詢是upstream的默認分配方式,即每個請求按照時間順序輪流分配到不同的后端服務器,如果某個后端服務器down掉后,能自動剔除。 ``` upstream backend { server 192.168.1.101:8888; server 192.168.1.102:8888; server 192.168.1.103:8888; } ``` 2、weight 輪詢的加強版,即可以指定輪詢比率,weight和訪問幾率成正比,主要應用于后端服務器異質的場景下。 ``` upstream backend { server 192.168.1.101 weight=1; server 192.168.1.102 weight=2; server 192.168.1.103 weight=3; } ``` 3、ip_hash 每個請求按照訪問ip(即Nginx的前置服務器或者客戶端IP)的hash結果分配,這樣每個訪客會固定訪問一個后端服務器,可以解決session一致問題。 ``` upstream backend { ip_hash; server 192.168.1.101:7777; server 192.168.1.102:8888; server 192.168.1.103:9999; } ``` 注意:1、當負載調度算法為ip_hash時,后端服務器在負載均衡調度中的狀態不能是weight和backup。2、導致負載不均衡。 4、fair fair顧名思義,公平地按照后端服務器的響應時間(rt)來分配請求,響應時間短即rt小的后端服務器優先分配請求。如果需要使用這種調度算法,必須下載Nginx的upstr_fair模塊。 ``` upstream backend { server 192.168.1.101; server 192.168.1.102; server 192.168.1.103; fair; } ``` 5、url_hash,目前用consistent_hash替代url_hash與ip_hash類似,但是按照訪問url的hash結果來分配請求,使得每個url定向到同一個后端服務器,主要應用于后端服務器為緩存時的場景下。 ``` upstream backend { server 192.168.1.101; server 192.168.1.102; server 192.168.1.103; hash $request_uri; hash_method crc32; } ``` 其中,hash_method為使用的hash算法,需要注意的是:此時,server語句中不能加weight等參數。 提示:url_hash用途cache服務業務,memcached,squid,varnish。特點:每個rs都是不同的。 ![](http://upload-images.jianshu.io/upload_images/6954572-b15ee1b79ec6205e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) #####二、設備狀態 從上面實例不難看出upstream中server指令語法如下: server address [parameters] **參數說明:** server:關鍵字,必選。 address:主機名、域名、ip或unix socket,也可以指定端口號,必選。 parameters:可選參數,可選參數如下:? ? 1.down:表示當前server已停用? ? 2.backup:表示當前server是備用服務器,只有其它非backup后端服務器都掛掉了或者很忙才會分配到請求。? ? 3.weight:表示當前server負載權重,權重越大被請求幾率越大。默認是1.? ? 4.max_fails和fail_timeout一般會關聯使用,如果某臺server在fail_timeout時間內出現了max_fails次連接失敗,那么Nginx會認為其已經掛掉了,從而在fail_timeout時間內不再去請求它,fail_timeout默認是10s,max_fails默認是1,即默認情況是只要發生錯誤就認為服務器掛掉了,如果將max_fails設置為0,則表示取消這項檢查。 舉例說明如下: ``` upstream backend { server backend1.example.com weight=5; server 127.0.0.1:8080 max_fails=3 fail_timeout=30s; server unix:/tmp/backend3; } ``` ?![](http://upload-images.jianshu.io/upload_images/6954572-035f64f01a2346c2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看