Otter-入门篇1(阿里开源项目Otter介绍)
来源:互联网 发布:算法和数据结构入门 编辑:程序博客网 时间:2024/06/05 11:40
Otter-入门篇1(阿里开源项目Otter介绍)
前言
呜啦啦啦啦!今天笔者又来开坑了,这次开坑的对象呢是阿里的一个开源项目Otter,Otter它是一个数据同步解决方案,可以解决本地跨网络跨机房跨地域的数据同步问题,并且拥有可观的效率,web管理工具等特点,而且背景也很优秀,据说阿里B2B内部的本地/异地机房的同步需求基本全上了otter。
附上:
喵了个咪的博客:w-blog.cn
Otter项目地址:https://github.com/alibaba/otter
Otter文档地址:https://github.com/alibaba/otter/wiki
1. Otter是什么
Ottter是由阿里爸爸开源的一个数据同步产品,它的最初的目的是为了解决跨国异地机房双A架构,两边可写的场景,开发时间从2011年7月份一直持续到现在,目前阿里巴巴B2B内部的本地/异地机房的同步需求基本全上了Otter。
Otter基于数据库增量日志解析,支持mysql/oracle数据库进行同步,在最新的v4.2.13已经支持mysql5.7以及阿里云提供的RDS数据库(使用RDS童鞋的福音)
工作原理
下图是关于Otter运行原理图:
更具上图里面关键几个元素进行介绍
- db : 数据源以及需要同步到的库
- Canal : 用户获取数据库增量日志
- manager : 配置同步规则设置数据源同步源等
- zookeeper : 协调node进行协调工作
- node : 负责任务处理处理接受到的部分同步工作
特性
笔者总结了一下Otter的一些特性:
- 使用纯JAVA开发,占时资源比较高
- 基于Canal获取数据库增量日志,Canal是阿里爸爸另外一个开源产品
- 使用manager(web管理)+node(工作节点),manager负责配置监控,node负责处理任务
- 基于zookeeper,解决分布式状态调度的,允许多node节点之间协同工作
- 使用aria2多线程传输技术,对网络依赖带宽依赖较低
2. Otter能解决什么问题
技术最终是解决业务问题的,不然还是耍流氓!我们来一同看看 Otter 到底能解决我们在开发中遇到的那些场景中的问题
异构库同步
Otter支持从Mysql同步到Mysql/oracle,我们可以把mysql同步到oracle
单机房同步
可以作为一主多从同步方案,对于单机房内网来说效率非常高,还可以做为数据库版本升级,数据表迁移,二级索引等这类功能
异地机房同步
异地机房同步可以说是Otter最大的亮点之一,可以解决国际化问题把数据从国内同步到国外来提供用户使用,在国内场景可以做到数据多机房容灾
双向同步
双向同步是在数据同步中最难搞的一种场景,Otter可以很好的应对这种场景,Otter有避免回环算法和数据一致性算法两种特性,保证双A机房模式下,数据保证最终一致性
文件同步
站点镜像,进行数据复制的同时,复制关联的图片,比如复制产品数据,同时复制产品图片
3. 总结
今天我们简单的了解了一下关于Otter是一个什么样子的软件,它可以解决什么问题,下一节将会介绍如何搭建zookeeper和manager管理工具,那么谢谢大家的支持我们下节再见!
注:笔者能力有限有说的不对的地方希望大家能够指出,也希望多多交流!
- Otter-入门篇1(阿里开源项目Otter介绍)
- Otter(阿里开源项目Otter介绍)
- Otter
- otter
- otter系列—otter 基本介绍
- Otter-入门篇2(Manager安装配置)
- Otter-入门篇3(Node搭建)
- Otter-入门篇4(单向同步实践)
- Otter入门简介
- 阿里 otter搭建过程整理
- Canal+Otter - 前日篇(1)
- Canal+Otter - Canal篇(1)
- 阿里巴巴开源项目:分布式数据库同步系统otter(解决中美异地机房)
- 阿里巴巴开源项目:分布式数据库同步系统otter(解决中美异地机房)
- 阿里巴巴开源项目:分布式数据库同步系统otter(解决中美异地机房)
- 1、mysql数据库双机同步开源软件otter的安装 一
- mysql数据库双机同步开源软件otter
- mysql数据库双机同步开源软件otter《转载》
- android studio spinner button textview共同使用的小app
- Scala Functions vs Methods(scala中的函数和方法)
- sscanf()函数
- u盘安装centos 5.11
- sap abap 性能优化(一)
- Otter-入门篇1(阿里开源项目Otter介绍)
- xcode 编写代码没有代码提示解决办法
- windows10 下 旧系列东方STG 全屏工具 (windows10 一周年版以及以后版本下仅适用于 东方红魔乡)
- Error:(1, 0) Plugin with id 'com.android.application' not found.
- Unicode字符集和多字节字符集关系
- HDU 1166 敌兵布阵(树状数组||线段树单点更新)
- PHP如何发邮件?
- 轻松理解AOP(面向切面编程)
- 【笔记】高效程序员的45个习惯:敏捷开发修炼之道