Otter數據同步


 

 安裝https://blog.51cto.com/jiajinh/2416134

otter是一個分布式數據庫同步系統工具,純java編寫,支持windows和linux操作系統。阿里的開源項目,數據同步的解決方案。

github:https://github.com/alibaba/otter

Otter作為阿里巴巴開源的是一個數據同步產品,他的最初目的是為了解決跨國異地機房雙A架構,兩邊可寫的場景,開發時間是從2011年一直持續到今天。

目前阿里巴巴b2b內部的本地--異地機房的同步需求基本上已經全部上了Otter。Otter基於數據庫增量日志解析,支持mysql/oracle數據庫進行同步,在最新的v4.2.13已經支持了mysql5.7以及阿里雲提供的RDS數據庫。

Otter工作原理:

  1. 基於Canal開源產品,獲取數據庫增量日志數據。 什么是Canal,
    請點擊https://github.com/alibaba/canal
  2. 典型管理系統架構,manager(web管理)+node(工作節點)
    manager運行時推送同步配置到node節點
    node節點將同步狀態反饋到manager上
  3. 基於zookeeper,解決分布式狀態調度的,允許多node節點之間協同工作.(otter node依賴於zookeeper進行分布式調度,需要安裝一個zookeeper節點或者集群)

整體架構

  • db : 數據源以及需要同步到的庫
  • Canal : 用戶獲取數據庫增量日志,目前主要支持mysql
  • manager : 配置同步規則設置數據源同步源等
  • zookeeper : 協調node進行協調工作
  • node : 負責任務處理處理接受到的部分同步工作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM