您好,登錄后才能下訂單哦!
下文給大家帶來haproxy+mysql負載均衡的重點講解,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網上有很多書籍,今天我們就用億速云在行業內累計的經驗來做一個解答。
本篇重點講解haproxy+mysql負載均衡,搭建完成后與之前搭建的redis+ssm進行整合
(注:這里用到了兩臺mysql數據庫,分別安裝兩臺虛擬機上,已經成功實現主主復制,如果有需要,請查看我另外一篇博客:http://www.cnblogs.com/cuijiale/p/8039421.html)
1、首先下載最新的的haproxy安裝包:haproxy-1.7.9.tar.gz
下載完成后cp到特定的目錄下/usr/local
2、安裝haproxy
解壓“tar -zxvf haproxy-1.7.9.tar.gz”在本目錄,壓縮完成后“cd haproxy-1.7.9”
執行安裝命令“make TARGET=linux3100 CPU=x86_64 PREFIX=/usr/local/haproxy-1.7.9”
“make install PREFIX=/usr/local/haproxy-1.7.9”
3、安裝完成后配置啟動
在安裝目錄的根目錄創建haproxy.cfg配置文件,啟動時需要。
進入haproxy.cfg文件修改
1 global 2 log 127.0.0.1 local2 #日志相關 3 maxconn 4096 4 chroot /var/lib/haproxy 5 pidfile /var/run/haproxy.pid 6 user haproxy 7 daemon 8 stats socket /var/lib/haproxy/stats 9 #debug10 #quiet11 12 defaults13 mode tcp #haproxy運行模式(http | tcp | health)14 log global15 option dontlognull16 option redispatch #serverId對應的服務器掛掉后,強制定向到其他健康的服務器17 retries 3 #三次連接失敗則服務器不用18 timeout http-request 10s19 timeout queue 1m20 timeout connect 10s #連接超時21 timeout client 1m #客戶端超時22 timeout server 1m #服務器超時23 timeout http-keep-alive 10s24 timeout check 10s #心跳檢測25 maxconn 600 #最大連接數26 27 listen mysql28 bind 0.0.0.0:23306 #代理端口29 mode tcp #模式 TCP30 option mysql-check user haproxy #mysql健康檢查 root為mysql登錄用戶名31 balance roundrobin #調度算法32 server mysql1 192.168.40.128:3306 weight 1 check inter 1s rise 2 fall 2 #健康檢查加上check33 server mysql2 192.168.40.130:3306 weight 1 check inter 1s rise 2 fall 234 listen stats #監控35 mode http36 bind 0.0.0.0:888837 stats enable38 stats uri /dbs39 stats realm Global\ statistics40 stats auth admin:admin
配置文件后,就可以啟動了,不過在這之前,因為數據庫是負載均衡,需要同步數據與訪問數據,需要創建一個一模一樣的帳號來應對訪問需求,并且主主復制的帳號也需要改成一樣的,為了方便直接賦予這個用戶全部權限。語法查看我mysql相關博客: http://www.cnblogs.com/cuijiale/p/8034319.html,其中都有提到。ok該排的坑我們已經躺過了,這里我就啟動服務(為了讓haproxy監控兩個數據庫信息,需要分別創建一個haproxy用戶,密碼為空就好)。
./usr/local/haproxy-1.7.9/sbin/haproxy -f /usr/local/haproxy-1.7.9/haproxy.cfg
啟動后可以通過命令去查看。啟動一切正常
遠程使用“http://192.168.40.128:8888/dbs”查看監控情況這里用到的配置全部來自于
登錄密碼這里配置的是admin/admin可以看到我們配置的兩臺mysql已經被監控到了。
4、整合smm
上面配置圖中可以看到我們讓haproxy監聽的23306端口,所以配置文件中需要連接這個端口
一切就緒,啟動redis集群
redis主從6個節點全部啟動后,啟動web服務訪問
數據也完美得到。一切ok,這樣我們一個SSM WEB應用+redis集群+mysql負載均衡的高可用,高性能,高擴展的讀寫分離架構就搭建完成了,其中還有很多瑕疵,之后也會自己慢慢補齊,架構還需要使用nginx對web應用進行負載均衡,減輕應用服務器壓力。
看了以上關于haproxy+mysql負載均衡的重點講解,如果大家還有什么地方需要了解的可以在億速云行業資訊里查找自己感興趣的或者找我們的專業技術工程師解答的,億速云技術工程師在行業內擁有十幾年的經驗了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。