Otter-入門篇4(單向同步實踐)
Otter-入門篇4(單向同步實踐)#
前言##
在前幾節我們已經做好了關於otter的準備工作,配置好了zookeeper,manage和node,本節就來完成otter第一個實際功能,單相資料同步.單向資料同步可以解決跨機房主從的問題,所有讀操作都能從本地的從庫進行操作,而寫可以通過外網連線到主伺服器進行寫入,並且通過otter同步到各個從伺服器,可以很好地應對多機房讀業務偏多的場景,那麼話不多說就開始本節的正文吧!
附上:
喵了個咪的部落格:w-blog.cn
Otter專案地址:https://github.com/alibaba/otter
Otter文件地址:https://github.com/alibaba/otter/wiki
1. 準備工作
Mysql多例項可以通過mysqld_multi進行配置,資料也比較多這裡不詳細說明了.
筆者這裡準備了兩個mysql例項來做同步,均採用mysql5.6:
10.144.159.182(master)
10.163.122.106(slave)
我們還需要檢查一下資料庫配置,編輯**/etc/my.cnf**,檢查一下配置
binlog_format=ROW #修改成ROW
server-id = 1 #不同mysql的server-id設定為不同的值
應為後續需要進行測試單機本地測試不能很好的反應實際情況這裡,從新建立了一臺伺服器單獨搭建了一個mysql例項(mysql5.6)來作為同步的從庫,方便後續的效能測試
這裡簡單建立一個數據庫,這麼名字取為ottertest,建立如下表結構,並且分別建立在兩個mysql中
特別注意:庫名中千萬不要帶有符號比如"-"這種符號會直接引起同步開啟不成功
CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `password` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `phone` varchar(255) NOT NULL, `time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
到這裡我們的準備工作就做好了
2. 配置manage##
(一)首先我們需要配置資料連線也就是資料來源
(二)配置好資料來源後進行需要同步的資料表的配置
(三)配置同步規則
(四)開啟資料同步
3. 總結##
到這裡就完成了一次單向同步的配置,我們所有的對master的操作都會同步到slave,但是slave是可以寫的,所以一般會進行通過slave進行寫操作保證資料的統一,後面的章節將會通過此機制慢慢講解一些otter的特性已經雙向同步的配置,在這裡感謝大家的關注,有說的不對的地方還請大家多多指出!
注:筆者能力有限有說的不對的地方希望大家能夠指出,也希望多多交流!