基於HA機制的MyCat架構——配置HAProxy


HAProxy簡介
HAProxy提供高可用性、負載均衡以及基於TCP和HTTP應用的代理,支持虛擬主機,它是免費、快速並且可靠的一種解決方案。

HAProxy特別適用於那些負載特大的web站點,這些站點通常又需要會話保持或七層處理。

HAProxy運行在當前的硬件上,完全可以支持數以萬計的並發連接。並且它的運行模式使得它可以很簡單安全的整合進您當前的架構中, 同時可以保護你的web服務器不被暴露到網絡上。

HAProxy實現了一種事件驅動, 單一進程模型,此模型支持非常大的並發連接數。多進程或多線程模型受內存限制 、系統調度器限制以及無處不在的鎖限制,很少能處理數千並發連接。事件驅動模型因為在有更好的資源和時間管理的用戶空間(User-Space) 實現所有這些任務,所以沒有這些問題。此模型的弊端是,在多核系統上,這些程序通常擴展性較差。這就是為什么他們必須進行優化以 使每個CPU時間片(Cycle)做更多的工作。


一、安裝

#gcc 安裝
yum install gcc-c++
#下載
wget http://fossies.org/linux/misc/haproxy-1.6.9.tar.gz

#解壓
tar -zxvf haproxy-1.6.9.tar.gz
cd haproxy-1.6.9

#安裝
make TARGET=linux2628 ARCH=x86_64 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy

#參數說明
TARGET=linux26 #內核版本,使用uname -r查看內核,如:2.6.18-371.el5,此時該參數就為linux26;kernel大於2.6.28的用:TARGET=linux2628
ARCH=x86_64 #系統位數
PREFIX=/usr/local/haprpxy #/usr/local/haprpxy為haprpxy安裝路徑

二、配置(自己創建)
/usr/local/haproxy/haproxy.cfg

global
        log 127.0.0.1   local0
        #log 127.0.0.1   local1 notice
        #log loghost    local0 info
        maxconn 4096
        chroot /usr/local/haproxy
        pidfile /usr/data/haproxy/haproxy.pid
        uid 99
        gid 99
        daemon
        #debug
        #quiet

defaults
        log     global
        mode    tcp
        option  abortonclose
        option redispatch
        retries 3
        maxconn 2000
        timeout connect 5000
        timeout client  50000
        timeout server  50000


listen proxy_status 
    bind :48066
        mode tcp
        balance roundrobin
        server mycat_1 192.168.1.105:8066 check inter 10s
        server mycat_2 192.168.1.60:8066 check inter 10s

frontend admin_stats 
    bind :7777
        mode http
        stats enable
        option httplog
        maxconn 10
        stats refresh 30s
        stats uri /admin
        stats auth mldn:java
        stats hide-version
        stats admin if TRUE

a、創建一個haproxy的數據保存路徑:mkdir -p /usr/data/haproxy/
b、找到listen proxy_status配置mycat信息

三、啟動

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

四、查看狀態

ps -ef|grep haproxy

http://192.168.1.105:7777/admin

#說明:
7777即haproxy配置文件中監聽端口
/admin 即haproxy的訪問路徑
用戶名/密碼:mldn/java

五、mycat記得啟動

六、通過haproxy進行登錄

在192.168.1.60(mysql master)上登錄haproxy
mysql -uroot -p123456 -h192.168.1.105 -P48066 -DTESTDB

#參數說明
-uroot:mycat用戶名
-p123456:mycat密碼
-h192.168.1.105:haproxy ip
-P48066:haproxy端口
-DTESTDB:mycat邏輯庫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM