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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [toc] ## 集群架構圖 ![](https://img.kancloud.cn/ce/31/ce314467a39b76e988d9e99b9434317c_781x871.png) 參考: [MySQL高可用讀寫分離集群 ](https://www.roncoo.com/view/4) HAProxy負責將請求分發到MyCat上,起到負載均衡的作用,同時HAProxy也能檢測到MyCat是否存活,HAProxy只會將請求轉發到存活的MyCat上。如果一臺MyCat服務器宕機,HAPorxy轉發請求時不會轉發到宕機的MyCat上,所以MyCat依然可用。 ## 安裝HAProxy HAProxy 是一款提供高可用性、負載均衡以及基于TCP(第四層)和HTTP(第七層)應用的代理軟件,支持虛擬主機,它是免費、快速并且可靠的一種解決方案。 ~~~ wget https://github.com/haproxy/haproxy/archive/v2.0.0.tar.gz tar -zxvf v2.0.0.tar.gz cd haproxy-2.0.0/ # 安裝編譯所需的依賴包 yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel make TARGET=linux-glibc ARCH=x86_64 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 PREFIX=/usr/local/haproxy mkdir /usr/local/haproxy make install PREFIX=/usr/local/haproxy # 創建配置文件目錄 mkdir -p /usr/local/haproxy/conf mkdir -p /etc/haproxy/ cp /usr/local/src/haproxy-2.0.0/examples/option-http_proxy.cfg /usr/local/haproxy/conf/http_proxy.cfg ln -s /usr/local/haproxy/conf/haproxy.cfg /etc/haproxy/haproxy.cfg # 錯誤頁面配置 cp -r /usr/local/src/haproxy-2.0.0/examples/errorfiles /usr/local/haproxy/ ln -s /usr/local/haproxy/errorfiles /etc/haproxy/errorfiles # 啟動文件,設置開機啟動 cp /usr/local/src/haproxy-2.0.0/examples/haproxy.init /etc/rc.d/init.d/haproxy chmod +x /etc/rc.d/init.d/haproxy ln -s /usr/local/haproxy/sbin/haproxy /usr/sbin chkconfig --add haproxy chkconfig haproxy on ~~~ **docker容器化** # 掛載主要是看原鏡像的dockerfile docker run --name haproxy -e LANG=en_US.UTF-8 -v /showcase/haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg --restart=always --net host -d haproxy:latest 如果你掛載haproxy配置并且修改了你的haproxy.cfg文件,可以使用如下命令優雅的重載配置: docker kill -s HUP my-running-haproxy ## 安裝xinetd配置MyCat狀態檢查服務 MyCat服務主機(mycat-01、mycat-02)上需要增加mycat服務的狀態檢測腳本,并開放相應的檢測端口,以提供給HAProxy對MyCat的服務狀態進行檢測判斷。可以使用xinetd來實現,通過xinetd,HAProxy可以用httpchk來檢測MyCat的存活狀態。(xinetd即extended internet daemon,xinetd是新一代的網絡守護進程服務程序,又叫超級Internet服務器。經常用來管理多種輕量級Internet服務。xinetd提供類似于inetd+tcp\_wrapper的功能,但是更加強大和安全。xinetd為linux系統的基礎服務) ~~~ yum -y install xinetd # 檢查/etc/xinetd.conf的末尾是否有 includedir /etc/xinetd.d ,沒有就加上 vim /etc/xinetd.conf ~~~ ![](https://img.kancloud.cn/7a/5c/7a5ce2626491341ccedd9a9d255b6e56_837x510.png) ~~~ # 檢查 /etc/xinetd.d 目錄是否存在,不存在剛創建 ll /etc/xinetd.d/ mkdir /etc/xinetd.d/ # 增加MyCat存活狀態檢測服務配置 touch /etc/xinetd.d/mycat_status vi /etc/xinetd.d/mycat_status service mycat_status { flags = REUSE ## 使用該標記的 socket_type 為 stream,需要設置 wait 為 no socket_type = stream ## 封包處理方式,Stream 為 TCP 數據包 port = 48700 ## 服務監聽端口 wait = no ## 表示不需等待,即服務將以多線程的方式運行 user = root ## 執行此服務進程的用戶 server =/usr/local/bin/mycat_status ## 需要啟動的服務腳本 log_on_failure += USERID ## 登錄失敗記錄的內容 disable = no ## 要啟動服務,將此參數設置為 no } ~~~ ~~~ # 添加 /usr/local/bin/mycat_status 服務腳本 touch /usr/local/bin/mycat_status vi /usr/local/bin/mycat_status #!/bin/bash #/usr/local/bin/mycat_status.sh # This script checks if a mycat server is healthy running on localhost. # It will return: # "HTTP/1.x 200 OK\r" (if mycat is running smoothly) # "HTTP/1.x 503 Internal Server Error\r" (else) mycat=`/usr/local/mycat/bin/mycat status | grep 'not running' | wc -l` if [ "$mycat" = "0" ]; then /bin/echo -e "HTTP/1.1 200 OK\r\n" else /bin/echo -e "HTTP/1.1 503 Service Unavailable\r\n" fi # 給新增腳本賦予可執行權限 chmod a+x /usr/local/bin/mycat_status ~~~ ~~~ # 在 /etc/services 中加入 mycat_status 服務 vi /etc/services # 在末尾加入: mycat_status 48700/tcp # mycat_status # 保存后,重啟 xinetd 服務 service xinetd restart # 驗證是否成功 netstat -antup|grep 48700 ~~~ ## HAProxy配置MyCat負載均衡集群 HAProxy支持TCP(第四層)和HTTP(第七層)應用的代理,本節課程我們使用HAProxy來做MyCat的負載均衡代理使用的是TCP模式。在4層模式下HAProxy僅在客戶端和服務器之間轉發雙向流量。HAProxy配置簡單,擁有非常不錯的服務器健康檢查功能,當其代理的后端服務器出現故障,HAProxy會自動將該服務器摘除,故障恢復后會自動將該服務器加入進來? 具體參數說明可參考官方配置文檔: http://cbonte.github.io/haproxy-dconv/2.0/configuration.html # todo 1. 理解haproxy的配置項和使用原理 2. 制作xinetd版的mycat鏡像 主要參考:https://www.cnblogs.com/happy1983/p/9265358.html https://www.cnblogs.com/Richardzhu/p/3344676.html
                  <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>

                              哎呀哎呀视频在线观看