#Otter-入门篇1(阿里开源项目Otter介绍)#node
##前言##mysql
呜啦啦啦啦!今天笔者又来开坑了,此次开坑的对象呢是阿里的一个开源项目Otter,Otter它是一个数据同步解决方案,能够解决本地跨网络跨机房跨地域的数据同步问题,而且拥有可观的效率,web管理工具等特色,并且背景也很优秀,听说阿里B2B内部的本地/异地机房的同步需求基本全上了otter。git
附上:github
喵了个咪的博客:w-blog.cnweb
Otter项目地址:https://github.com/alibaba/otter算法
Otter文档地址:https://github.com/alibaba/otter/wikisql
##1. Otter是什么##数据库
Ottter是由阿里爸爸开源的一个数据同步产品,它的最初的目的是为了解决跨国异地机房双A架构,两边可写的场景,开发时间从2011年7月份一直持续到如今,目前阿里巴巴B2B内部的本地/异地机房的同步需求基本全上了Otter。网络
Otter基于数据库增量日志解析,支持mysql/oracle数据库进行同步,在最新的v4.2.13已经支持mysql5.7以及阿里云提供的RDS数据库(使用RDS童鞋的福音)多线程
###工做原理
下图是关于Otter运行原理图:
更具上图里面关键几个元素进行介绍
###特性
笔者总结了一下Otter的一些特性:
##2. Otter能解决什么问题##
技术最终是解决业务问题的,否则仍是耍流氓!咱们来一同看看 Otter 到底能解决咱们在开发中遇到的那些场景中的问题
###异构库同步
Otter支持从Mysql同步到Mysql/oracle,咱们能够把mysql同步到oracle
###单机房同步
能够做为一主多从同步方案,对于单机房内网来讲效率很是高,还能够作为数据库版本升级,数据表迁移,二级索引等这类功能
###异地机房同步
异地机房同步能够说是Otter最大的亮点之一,能够解决国际化问题把数据从国内同步到国外来提供用户使用,在国内场景能够作到数据多机房容灾
###双向同步
双向同步是在数据同步中最难搞的一种场景,Otter能够很好的应对这种场景,Otter有避免回环算法和数据一致性算法两种特性,保证双A机房模式下,数据保证最终一致性
###文件同步
站点镜像,进行数据复制的同时,复制关联的图片,好比复制产品数据,同时复制产品图片
##3. 总结##
今天咱们简单的了解了一下关于Otter是一个什么样子的软件,它能够解决什么问题,下一节将会介绍如何搭建zookeeper和manager管理工具,那么谢谢你们的支持咱们下节再见!
注:笔者能力有限有说的不对的地方但愿你们可以指出,也但愿多多交流!