<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 負載均衡和反向代理 1. 負載均衡需要通過反向代理來實現 2. 反向代理就是指nginx作為前端服務器,將請求轉發到后端,再將后端服務器的結果,返回給客戶端 它在中間做了一個代理服務器的角色 3. 負載均衡對反向代理增加了一些策略,因為后端是多臺服務器,nginx會根據設定的策略將請求轉發給一個相對空閑的服務器,對負載進行分流,減輕服務器壓力 ![](https://img.kancloud.cn/0f/ec/0fec6e221355ad06f99dd5be452dc8a8_1920x1080.jpg) ## 配置實例 ```config 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; } } } ``` ## 輪詢 每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。 ``` upstream backserver { server 192.168.0.14; server 192.168.0.15; } ``` ## 權重 指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。 > 權重越高,在被訪問的概率越大,如上例,分別是30%,70%。 ``` upstream backserver { server 192.168.0.14 weight=3; server 192.168.0.15 weight=7; } ``` ## ip_hash 上述方式存在一個問題就是說,在負載均衡系統中,假如用戶在某臺服務器上登錄了,那么該用戶第二次請求的時候,因為我們是負載均衡系統,每次請求都會重新定位到服務器集群中的某一個,那么已經登錄某一個服務器的用戶再重新定位到另一個服務器,其登錄信息將會丟失,這樣顯然是不妥的。 我們可以采用ip_hash指令解決這個問題,如果客戶已經訪問了某個服務器,當用戶再次訪問時,會將該請求通過哈希算法,自動定位到該服務器。 每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。 ```javascript upstream backserver { ip_hash; server 192.168.0.14:88; server 192.168.0.15:80; } ``` ## fair 按后端服務器的響應時間來分配請求,響應時間短的優先分配。 ```javascript upstream backserver { server 192.168.0.14; server 192.168.0.15; fair; } ``` ## url_hash 按訪問url的hash結果來分配請求,使每個url定向到同一個(對應的)后端服務器,后端服務器為緩存時比較有效。 ``` upstream backserver { server squid1:3128; server squid2:3128; hash $request_uri; hash_method crc32; } ``` ## 其他 ```JavaScript 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; (備用服務器,其他服務器宕機后啟動) } ``` <br /> <br /> 參考: - [nginx負載均衡的5種策略](https://segmentfault.com/a/1190000014483200) - [Nginx 之負載均衡與反向代理](https://zhuanlan.zhihu.com/p/99117739)
                  <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>

                              哎呀哎呀视频在线观看