<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 概述 功能: * 負載均衡 * 會話保持 * 健康檢查 * 根據URI前綴向不同的后端集群轉發 * 監控頁面 ![](https://img.kancloud.cn/c8/08/c8081ebf54231b54ae6b982dc432fdd9_307x339.png) 描述 * ms1:服務URI前綴為ms1/的請求 * ms2:服務URI前綴為ms2/的請求 * def:服務其他請求 ## 搭建 ### 搭建后端服務 部署6個后端服務,可以使用任意的Web服務,如Nginx、Apache HTTPD、Tomcat、Jetty等,具體Web服務的安裝過程省略 我們在192.168.8.111和192.168.8.112兩臺主機上分別安裝了3個Nginx: ``` ms1.srv1 - 192.168.8.111:8080 ms1.srv2 - 192.168.8.112:8080 ms2.srv1 - 192.168.8.111:8081 ms2.srv2 - 192.168.8.112:8081 def.srv1 - 192.168.8.111:8082 def.srv2 - 192.168.8.112:8082 ``` 在這6個Nginx服務分別部署健康檢查頁面healthCheck.html,頁面內容任意。確保通過`http://ip:port/healthCheck.html` 可以訪問 接下來在6個Nginx服務中部署服務頁面: * 在第一組中部署ms1/demo.html * 在第二組中部署ms2/demo.html * 在第三組中部署def/demo.html ### 配置文件 HAProxy ``` global daemon maxconn 30000 #ulimit -n至少為60018 user ha pidfile /home/ha/haproxy/conf/haproxy.pid log 127.0.0.1 local0 info log 127.0.0.1 local1 warning defaults mode http log global option http-keep-alive #使用keepAlive連接 option forwardfor #記錄客戶端IP在X-Forwarded-For頭域中 option httplog #開啟httplog,HAProxy會記錄更豐富的請求信息 timeout connect 5000ms timeout client 10000ms timeout server 50000ms timeout http-request 20000ms #從連接創建開始到從客戶端讀取完整HTTP請求的超時時間,用于避免類DoS攻擊 option httpchk GET /healthCheck.html #定義默認的健康檢查策略 frontend http-in bind *:9001 maxconn 30000 #定義此端口上的maxconn acl url_ms1 path_beg -i /ms1/ #定義ACL,當uri以/ms1/開頭時,ACL[url_ms1]為true acl url_ms2 path_beg -i /ms2/ #同上,url_ms2 use_backend ms1 if url_ms1 #當[url_ms1]為true時,定向到后端服務群ms1中 use_backend ms2 if url_ms2 #當[url_ms2]為true時,定向到后端服務群ms2中 default_backend default_servers #其他情況時,定向到后端服務群default_servers中 backend ms1 #定義后端服務群ms1 balance roundrobin #使用RR負載均衡算法 cookie HA_STICKY_ms1 insert indirect nocache #會話保持策略,insert名為"HA_STICKY_ms1"的cookie #定義后端server[ms1.srv1],請求定向到該server時會在響應中寫入cookie值[ms1.srv1] #針對此server的maxconn設置為300 #應用默認健康檢查策略,健康檢查間隔和超時時間為2000ms,兩次成功視為節點UP,三次失敗視為節點DOWN server ms1.srv1 192.168.8.111:8080 cookie ms1.srv1 maxconn 300 check inter 2000ms rise 2 fall 3 #同上,inter 2000ms rise 2 fall 3是默認值,可以省略 server ms1.srv2 192.168.8.112:8080 cookie ms1.srv2 maxconn 300 check backend ms2 #定義后端服務群ms2 balance roundrobin cookie HA_STICKY_ms2 insert indirect nocache server ms2.srv1 192.168.8.111:8081 cookie ms2.srv1 maxconn 300 check server ms2.srv2 192.168.8.112:8081 cookie ms2.srv2 maxconn 300 check backend default_servers #定義后端服務群default_servers balance roundrobin cookie HA_STICKY_def insert indirect nocache server def.srv1 192.168.8.111:8082 cookie def.srv1 maxconn 300 check server def.srv2 192.168.8.112:8082 cookie def.srv2 maxconn 300 check listen stats #定義監控頁面 bind *:1080 #綁定端口1080 stats refresh 30s #每30秒更新監控數據 stats uri /stats #訪問監控頁面的uri stats realm HAProxy Stats #監控頁面的認證提示 stats auth admin:admin #監控頁面的用戶名和密碼 ``` ### 狀態檢查 通過瀏覽器訪問`http:ip:1080/stats`查看
                  <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>

                              哎呀哎呀视频在线观看