資料庫負載均衡(下)

2021-09-24 19:30:34 字數 2331 閱讀 6485

單節點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儲存引...