Otter-入門篇4(單向同步實踐)

Otter-入門篇4(單向同步實踐)#

前言##

在前幾節咱們已經作好了關於otter的準備工做,配置好了zookeeper,manage和node,本節就來完成otter第一個實際功能,單相數據同步.單向數據同步能夠解決跨機房主從的問題,全部讀操做都能從本地的從庫進行操做,而寫能夠經過外網鏈接到主服務器進行寫入,而且經過otter同步到各個從服務器,能夠很好地應對多機房讀業務偏多的場景,那麼話很少說就開始本節的正文吧!node

附上:mysql

喵了個咪的博客:w-blog.cngit

Otter項目地址:https://github.com/alibaba/ottergithub

Otter文檔地址:https://github.com/alibaba/otter/wikisql

1. 準備工做

Mysql多實例能夠經過mysqld_multi進行配置,資料也比較多這裏不詳細說明了.數據庫

筆者這裏準備了兩個mysql實例來作同步,均採用mysql5.6:服務器

10.144.159.182(master)性能

10.163.122.106(slave)測試

咱們還須要檢查一下數據庫配置,編輯**/etc/my.cnf**,檢查一下配置code

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##

(一)首先咱們須要配置數據鏈接也就是數據源

image

image

Imgur

Imgur

Imgur

(二)配置好數據源後進行須要同步的數據表的配置

Imgur

Imgur

Imgur

Imgur

(三)配置同步規則

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

Imgur

(四)開啓數據同步

Imgur

Imgur

Imgur

3. 總結##

到這裏就完成了一次單向同步的配置,咱們全部的對master的操做都會同步到slave,可是slave是能夠寫的,因此通常會進行經過slave進行寫操做保證數據的統一,後面的章節將會經過此機制慢慢講解一些otter的特性已經雙向同步的配置,在這裏感謝你們的關注,有說的不對的地方還請你們多多指出!

注:筆者能力有限有說的不對的地方但願你們可以指出,也但願多多交流!

相關文章
相關標籤/搜索