日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived)

發布時間:2024/9/27 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接上一篇:實戰_22_Mycat設置開機自啟https://blog.csdn.net/weixin_40816738/article/details/100086556

文章目錄

  • 一、高可用集群架構實現思路
  • 二、環境部署準備
    • 2.1. 環境部署總覽
    • 2.2. 架構圖總覽
    • 2.3. 架構圖解說明
  • 三、架構功能分析
    • 3.1. 場景案例分析
    • 3.2. 架構功能點分析
    • 3.3. 擴展功能能分析
    • 3.4. MyCat UI效果圖
    • 3.5. Haproxy 監控頁面

一、高可用集群架構實現思路

實現思路:
①MYCAT 作為數據庫中間層,以邏輯庫來操作后臺物理庫
②MYCAT集群之間數據同步,借助ZooKeeper集群來實現高可用
③MYCAT負載均衡,借助Haproxy來實現
④Haproxy高可用,借助Keepalived來實現
⑤訂單表水平分庫分表,數據庫切分4片
⑥商品和客戶數據垂直拆分,采用讀寫分離(基于主從復制)


二、環境部署準備

2.1. 環境部署總覽

主機名IP地址角色數據庫
mycat1192.168.43.32MYCAT MYSQL,ZK,Haproxy,KeepalivedMYCAT,ORDER_DB01,ORDER_DB02
node1192.168.43.104MYSQL,ZKORDER_DB03,ORDER_DB04
node2192.168.43.217MYSQL,ZKPRODUCT_DB
mycat2192.168.43.172MYSQL,MYCAT,Haproxy,KeepalivedCUSTOMER_DB(master)
node3192.168.43.76MYSQLCUSTOMER_DB(slave)

2.2. 架構圖總覽


2.3. 架構圖解說明

1、MYSQL商品模塊和客戶模塊采用數據庫垂直在拆分,數據庫對于大數量級別的數據進行分庫分表操作。
舉個栗子:訂單模塊進行水平擴展,分庫分表,切分4片;商品模塊和客戶模塊數據庫進行主從復制,讀寫分離。

2、MYCAT采用集群部署,MYCAT集群之間借助ZK集群(3個節點)來實現配置文件數據同步和ZK高可用。
舉個栗子:MYCAT集群之間配置文件信息同步,只需要修改ZK集群中的MyCat數據,就可以同步到MYCAT采用集群中,MYCAT不做任何操作。

3、HAProxy 實現了Mycat 多節點的集群高可用和負載均衡, 而 HAProxy 自身的高可用則可以通過Keepalived來實現
因此, HAProxy 主機上要同時安裝 HAProxy 和 Keepalived, Keepalived 負責為該服務器搶占 vip(虛擬 ip,圖中的 192.168.43.100),搶占到 vip 后,對該主機的訪問可以通過原來的 ip(192.168.43.32)訪問,也可以直接通過 vip(192.168.43.172)訪問。

4、Keepalived 搶占 vip 有優先級, 在 keepalived.conf 配置中的 priority 屬性權重決定。但是一般哪臺主機上的 Keepalived服務先啟動就會搶占到 vip,即使是 slave。

5、HAProxy 負責將對 vip 的請求分發到 Mycat 集群節點上, 起到負載均衡的作用。 同時 HAProxy 也能檢測到 Mycat 是否存活, HAProxy 只會將請求轉發到存活的 Mycat 上。

6、如果 Keepalived+HAProxy 高可用集群中的一臺服務器宕機, 集群中另外一臺服務器上的 Keepalived會立刻搶占 vip 并接管服務, 此時搶占了 vip 的 HAProxy 節點可以繼續提供服務。

7、如果一臺 Mycat 服務器宕機, HAPorxy 轉發請求時不會轉發到宕機的 Mycat 上,所以 Mycat 依然可用。

綜上: Mycat 的高可用及負載均衡由 HAProxy 來實現,而 HAProxy 的高可用,由 Keepalived 來實現。

三、架構功能分析

當前架構,MYCAT已實現負載均衡,Haproxy高可用,MYSQL根據模塊需求應用場景不同已實現符合需求的高可用。

3.1. 場景案例分析

場景實施方案
訂單數據量級別比較大對訂單表已實現水平擴展,分庫分表
查詢次數頻繁數據量級不大對此模塊已實現垂直拆分,讀寫分離(基于主從復制)

3.2. 架構功能點分析

當前架構已實現的功能點:

①MYCAT 作為數據庫中間層,以邏輯庫來操作后臺物理庫
②MYCAT集群之間數據同步,借助ZooKeeper集群來實現高可用
③MYCAT負載均衡,借助Haproxy來實現
④Haproxy高可用,借助Keepalived來實現
⑤訂單表水平分庫分表,數據庫切分4片
⑥商品和客戶數據垂直拆分,采用讀寫分離(基于主從復制)
⑦當前架構已實現跨分片查詢
1>字典類型 解決方案 全局表
2> 查詢次數多 字段多 調用頻繁 實現跨分片查詢 解決方案 ER分片

3.3. 擴展功能能分析

①當前架構已實現跨全局自增ID,解決ID重復問題
②已實現SQL攔截
1>對于delete 沒有where條件,會進行sql攔截
2>對于update和delete影響范圍大的操作,會進行sql攔截

③SQL防火墻已經實現,可以指定服務器和用戶訪問MYCAT

MYCAT web監控后臺已經集成,可以監控MYCAT ,MYSQL數據庫,SQL語句等功能

3.4. MyCat UI效果圖







3.5. Haproxy 監控頁面

http://192.xxx.43.32:48800/admin-status

http://192.168.43.172:48800/admin-status

總結

以上是生活随笔為你收集整理的实战_23_高可用负载均衡集群的实现(Mycat+ZK +HAProxy + Keepalived)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。