Mycat讀寫分離案例及故障轉移

2021-10-08 22:24:29 字數 1465 閱讀 6000

1.1讀寫分離

資料某個分片中,實現的主從高可用備份,通過對主的寫操作,對從的讀操作將讀寫分離執行提公升集群使用效率

1.2故障轉移

乙個資料分片的讀寫工作,由於正在使用的某個節點出現故障,連線轉向乙個備份的節點實現讀寫 讀寫分離和故障轉移都是基於主從結構實現

2.1準備環境

準備乙個mycat的軟體

乙個主機執行了乙個後端資料庫,令乙個雲主機執行另另乙個後端資料庫,同時執行了mycat

2.2結構圖

2.3配置檔案schema.xml

<?xml version="1.0"?>

select user()

經過測試發現,配置了2個writehost標籤,但是讀和寫的操作都是在第乙個writehost進行的.

2.4讀寫分離邏輯屬性

乙個datahost標籤中,有balance和writetype控制讀寫邏輯.

writetype:實現寫邏輯控制

0:預設值,在index下標為0的writehost資料庫中寫資料

1:1.5以上的mycat已經不推薦使用了,隨機的在所有的writehost進行寫操作,覆蓋balance的讀邏輯,在所有**host進行隨機的讀

balance: 單獨控制乙個主從結構的讀寫分離的讀邏輯,想讓balance值生效,writetype不能是1

0:預設值,不開啟讀的分離,只會在index=0的writehost進行讀

1:讀的操作,除了index=0的writehost,其他的所有host都隨機讀.當讀併發超級高時,所有後端是資料庫讀都承受很大壓力時,第乙個writehost才會參與一部分讀的分離.

2:隨機在所有**host進行讀

3:隨機在所有的readhost進行讀,沒有readhost時,只會在第乙個writehost進行讀

常用的組合:writetype=0/balance=1

目的:通過高可用來提公升乙個資料分片的可靠性.

3.1switchtype屬性

datahost管理的主從資料庫結構,可以通過switchtype決定故障轉移邏輯.

1:預設值,當正在通過寫功能的host(index=0的writehost)故障,開啟故障轉移,將index=1的writehost頂替(替換index下標).

-1:不開啟故障轉移

3.2測試

通過前面讀寫分離案例,對第乙個writehost實現宕機,觀察讀寫是否正常.

讀寫分離故障轉移都是針對同乙個分片進行,沒有分布式邏輯.

mycat讀寫分離

一 安裝mycat wget tar zxvf mysql proxy 0.8.4 linux glibc2.3 x86 64bit.tar.gz mv mycat usr local 二 配置mycat 1 配置讀寫庫 vi schema.xml 將之前的所有資料刪除改為下面 特別注意schema...

mycat讀寫分離

準備環境 虛擬主機 centos7.5版本,ip位址為 192.168.1.10 192.168.1.12 192.168.1.13 192.168.1.14 192.168.1.15 192.168.1.16 修改mycat配置檔案 schema.xml vim usr local mycat c...

mycat 讀寫分離

在此之前,我們需要安裝雙主雙從的mysql資料庫 還需要安裝mycat select user 然後重啟mycat,即可生效。配置檔案屬性解釋 修改的balance屬性,通過此屬性配置讀寫分離的型別 負載均衡型別,目前的取值有4 種 balance 0 不開啟讀寫分離機制,所有讀操作都傳送到當前可用...