Otter(一)初识----简介和基本架构图
来源:互联网 发布:php sqllite 编辑:程序博客网 时间:2024/05/21 07:07
Otter 初识----简介和基本架构图
前阵子做的一个安防平台的项目,其中有一个需求,就是满足22个车站的数据库同步,虽然之前也接触过数据库同步,但是只是做过简单的master/slave,对于22个跨机房的数据库同步还真没做过,经过一番的交流讨论之后暂定使用阿里巴巴的开源项目otter,来解决这个问题。
一:基本介绍
Otter是早先阿里巴巴为了解决杭州和美国异地机房数据库同步而编写的解决方案,现在基本阿里巴巴B2B内部的本地/异地机房同步都用的otter,还是有很高的可靠性的。
otter是基于数据库增量日志解析,准实时同步到本地机房或者异地机房的mysql/oracle数据库分布式同步系统
二:原理描述
1:基于canal开源产品,通过canal获取数据库增量日志数据
2:典型管理系统架构,manager+node
node节点中通过S(select)与cannal接入,然后进行ETC(extract/transform/load)数据提取转换和加载,node节点将同步状态反馈到manager上,manager运行时推送同步到node节点。
3:基于zookeeper,解决分布式的调度,允许多个node节点之间协同工作。
三:canal简介
Cannal是基于数据库增量日志解析,提供增量数据订阅,消费,目前主要支持mysql。
这里我们首先来说一下mysql自己的master/slave是实现原理:
主要分为三步:
1:master将改变记录到二进制日志(binarylog)中
2:slave将master的binary logevents 拷贝到自己的中继日志(relay log)
3: slave重做relay log 中的事件,将改变反应到自己的数据库中
了解了mysql主从复制的基本原理,canal就简单多了:
1:canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
2:mysql master收到dump请求,开始推送binary log给slave(也就是canal)
3:canal解析binary log对象(原始为byte流)
- Otter(一)初识----简介和基本架构图
- Otter简介
- Otter入门简介
- otter系列—otter 基本介绍
- android初识一(简介)
- (一)WLAN定义和基本架构
- Hsqldb简介和基本使用(一)
- RecycleView的基本配置和使用方法(一)---初识RecycleView
- 初识Hbase:一、Hbase简介
- Otter
- otter
- canal和otter的关系?
- 三层架构初识和搭建
- otter系列—canal和otter的关系?
- UML基本架构建模--图的术语和概念(一)
- 【Zigbee技术入门教程-02】一图读懂ZStack协议栈的基本架构和工作机理
- 一图读懂ZStack协议栈的基本架构和工作机理
- 从一个模块初识MVC架构(一)
- 行为驱动开发iOS
- PHP弱类型安全
- CCBR2015青年论坛总结
- mysql分表方法-----MRG_MyISAM引擎分表法
- ScrollView反弹效果的实现
- Otter(一)初识----简介和基本架构图
- Ubuntu14.04 mysql 5.5 的中文乱码问题
- 剖析js对浮点数运算精度问题
- SQL SUM() 函数、SQL GROUP BY 语句、SQL HAVING 子句
- android 5.0及以上,seekbar thumb 透明效果出现父布局背景颜色的解决方法
- C/C++——多态性和虚函数
- C# 中的委托与事件
- [Built-in Functions] - N
- SESSION跨域访问的相关总结