單節點haproxy不具備高可用,必須要有冗餘設計
雙機就是兩個請求處理程式,比如兩個haproxy,當乙個掛掉的時候,另外 乙個可以頂上。
linux系統可以在乙個網絡卡中定義多個ip位址,把這些位址分配給多個應用程式,這些位址就是虛擬ip,haproxy的雙機熱備方案最關鍵的技術就是虛擬ip。
定義虛擬ip
在docker中啟動兩個haproxy容器,每個容器中還需要安裝keepalived程式
兩個keepalived會爭搶虛擬ip,乙個搶到後,另乙個沒搶到就會等待,搶到的作為主伺服器,沒搶到的作為備用伺服器
兩個keepalived之間會進行心跳檢測,如果備用伺服器沒有受到主伺服器的心跳響應,說明主伺服器發生故障,那麼備用伺服器就可以爭搶虛擬ip,繼續工作
我們向虛擬ip傳送資料庫請求,乙個haproxy掛掉,可以有另乙個接替工作
docker中建立兩個haproxy,並通過keepalived搶占docker內地虛擬ip
docker內的虛擬ip不能被外網,所以需要借助宿主機keepalived對映成外網可以訪問地虛擬ip
keepalived必須要安裝在haproxy所在容器之內
1.進入h1容器,安裝keepalived
docker exec -it h1 bash
apt-get update
apt-get install keepalived
2.編輯keepalived配置檔案
keepalived的配置檔案是/etc/keepalived/keepalived.conf
vim /etc/keepalived/keepalived.conf
配置檔案內容如下:
vrrp_instance vi_1
virtual_ipaddress
}
3.啟動keepalived
service keepalived start
4.宿主機執行ping命令
ping 172.18.0.201
5.進入h2容器,安裝keepalived
docker exec -it h2 bash
apt-get update
apt-get install keepalived
6.編輯keepalived配置檔案
vim /etc/keepalived/keepalived.conf
配置檔案內容如下:
vrrp_instance vi_1
virtual_ipaddress
}
7.啟動keepalived
service keepalived start
8.宿主機執行ping命令
ping 172.18.0.201
1.宿主機執行安裝keepalived
yum -y install keepalived
2.編輯keepalived配置檔案
vi /etc/keepalived/keepalived.conf
配置檔案內容如下:
vrrp_instance vi_1
virtual_ipaddress }
#接受監聽資料**的埠,網頁入口使用
virtual_server 192.168.123.150 8888 }
#接受資料庫資料埠,宿主機資料庫埠是3306,所以這裡也要和宿主機資料接受埠一致
virtual_server 192.168.123.150 3306
}
3.啟動keepalived
service keepalived start
資料庫負載均衡(上)
雖然搭建了集群,但是不使用資料庫負載均衡,單節點處理所有請求,負載高,效能差 使用haproxy做負載均衡,請求被均勻分發給每個節點,單節點負載低,效能好 1.安裝haproxy映象 從docker倉庫拉取haproxy映象 docker pull haproxy2.建立haproxy配置檔案 ha...
SQL Server資料庫實現負載均衡
微軟官方方案 1 通過分庫分表 分庫磁碟io share disk架構 2 alwayson 第三方軟體服務 1 dbtwin 2 負載均衡產品moebius for sql server 3 資料庫路由器軟體icx 提供ms sql server資料庫伺服器的集群功能,可以實現資料庫伺服器的並行處...
MySQL資料庫優化及負載均衡
mysql 存在4種資料庫引擎 innodb儲存引擎。myisam儲存引擎。memory儲存引擎。archive儲存引擎。本章內容主要針對 innodb和myisam這兩個最常見的做乙個講解和優化。在優化之前我們需要了解這兩個引擎分別的作用是什麼。myisam儲存引擎 myisam基於isam儲存引...