1. 程式人生 > 其它 >Otter-入門篇4(單向同步實踐)

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的特性已經雙向同步的配置,在這裡感謝大家的關注,有說的不對的地方還請大家多多指出!

注:筆者能力有限有說的不對的地方希望大家能夠指出,也希望多多交流!