Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/alibaba/otter

阿里巴巴分布式数据库同步系统(解决中美异地机房)
https://github.com/alibaba/otter

Last synced: 5 days ago
JSON representation

阿里巴巴分布式数据库同步系统(解决中美异地机房)

Awesome Lists containing this project

README

        

环境搭建 & 打包


环境搭建:

  1. 进入 $otter_home/lib 目录

  2. 执行:bash install.sh


打包:

  1. 进入$otter_home目录

  2. 执行:mvn clean install -Dmaven.test.skip -Denv=release

  3. 发布包位置:$otter_home/target


项目背景



   阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,同时为了提升用户体验,整个机房的架构为双A,两边均可写,由此诞生了otter这样一个产品。



   otter第一版本可追溯到04~05年,此次外部开源的版本为第4版,开发时间从2011年7月份一直持续到现在,目前阿里巴巴B2B内部的本地/异地机房的同步需求基本全上了otter4。


目前同步规模:

  1. 同步数据量6亿

  2. 文件同步1.5TB(2000w张图片)

  3. 涉及200+个数据库实例之间的同步

  4. 80+台机器的集群规模



项目介绍


名称:otter ['ɒtə(r)]


译意: 水獭,数据搬运工


语言: 纯java开发


定位: 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统




工作原理



原理描述:


1. 基于Canal开源产品,获取数据库增量日志数据。 什么是Canal, 请点击


2. 典型管理系统架构,manager(web管理)+node(工作节点)


    a. manager运行时推送同步配置到node节点


    b. node节点将同步状态反馈到manager上


3. 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作.



什么是canal?


otter之前开源的一个子项目,开源链接地址:http://github.com/alibaba/canal



Introduction


See the page for introduction: Introduction.



QuickStart


See the page for quick start: QuickStart.




AdminGuide


See the page for admin deploy guide : AdminGuide




相关文档


See the page for 文档: 相关PPT&PDF




常见问题


See the page for FAQ: FAQ



版本相关:


1. 建议版本:4.2.15 (otter开源版本从内部演变而来,所以初始版本直接从4.x开始)


2. 下载发布包:download


3. maven依赖 : 暂无

相关开源



  1. 阿里巴巴mysql数据库binlog的增量订阅&消费组件:http://github.com/alibaba/canal

  2. 阿里巴巴去Oracle数据迁移同步工具(目标支持MySQL/DRDS):http://github.com/alibaba/yugong



问题反馈



注意:canal&otter QQ讨论群已经建立,群号:161559791 ,欢迎加入进行技术讨论。

1. qq交流群: 161559791


2. 邮件交流: [email protected]


3. 新浪微博: agapple0002


4. 报告issue:issues