Transfer在MySQL雙主同步架構中的應用

來源:互聯網
上載者:User

有同學討論到Transfer能否支援雙主結構,答案是支援的,這裡簡要描述下。

背景

Transfer既可以當作主從庫之外的工具來用,也可以本身充當slave的角色。本文分別描述在這兩種使用情境下的部署結構和切換動作。

Slave模式

a)      結構

這個就是最簡單的雙主啦,Transfer呢?代碼直接寫到這兩個Master裡面啦,所以他們就是Transfer.

b)      切換

DBA同學就用你最熟悉的切換過程去操作。

1)      停止對Master1的更新

2)      確定資料完全同步

3)      將更新引Master2

這裡由Transfer的機制保證步驟2)的時間會很短(因為無延遲)。

工具模式

a)      結構

如果你比較擔心資料安全,怕這個patch作為直接充當master1和master2會有風險,(這是負責任的態度!),就用表示的結構。

其中Transfer1(T1)和Master1(M1)在同一個機器上,(Transfer1)T2和(Master)M2共同在另外一個機器上。

斜線表示主從關係,T1是M2的從庫,T2是M1的從庫。

    垂直線表示更新關係,T1收到的同步命令用與更新M1, T2更新M2

b)      切換

切換過程跟第一種模式的一模一樣。

小結

兩種模式的取捨上,第一種營運比較簡單,但是風險比較大,如果Transfer有bug,要更新版本,或者要換會原來的主從時,必須得重啟Master1和Master2,這種操作並不是所有的系統都能容忍。

第二種模式我比較推薦。好處有以下幾個:

1、Transfer本身不帶資料,就算coredump了也不會影響資料服務。同步過程自然要切換回原來的主從方法,就讓M1跟M2直連。

(看官問:怎麼你這推廣東西的說來說去不是bug就是coredump的?

筆者答:雖然我已經做了自認為足夠的測試,但風險總要說明,這是負責任的態度,不然回頭你用了把資料服務搞掛,跨省我,咋整?)

2、Master要升級版本(比如你以後要升級成5.6),Transfer可以不改變。

當然,兩種都是支援的,膽子大的可以把第一種用起來,免費保修還不行嘛。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.