在前幾節咱們已經作好了關於otter的準備工做,配置好了zookeeper,manage和node,本節就來完成otter第一個實際功能,單相數據同步.單向數據同步能夠解決跨機房主從的問題,全部讀操做都能從本地的從庫進行操做,而寫能夠經過外網鏈接到主服務器進行寫入,而且經過otter同步到各個從服務器,能夠很好地應對多機房讀業務偏多的場景,那麼話很少說就開始本節的正文吧!node
附上:mysql
喵了個咪的博客:w-blog.cngit
Otter項目地址:https://github.com/alibaba/ottergithub
Otter文檔地址:https://github.com/alibaba/otter/wikisql
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;
到這裏咱們的準備工做就作好了
到這裏就完成了一次單向同步的配置,咱們全部的對master的操做都會同步到slave,可是slave是能夠寫的,因此通常會進行經過slave進行寫操做保證數據的統一,後面的章節將會經過此機制慢慢講解一些otter的特性已經雙向同步的配置,在這裏感謝你們的關注,有說的不對的地方還請你們多多指出!
注:筆者能力有限有說的不對的地方但願你們可以指出,也但願多多交流!