`
m635674608
  • 浏览: 4929596 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Otter(一)初识----简介和基本架构图

 
阅读更多

tter 初识----简介和基本架构图

         前阵子做的一个安防平台的项目,其中有一个需求,就是满足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流)

 

http://blog.csdn.net/linxi1209163com/article/details/50067213

分享到:
评论

相关推荐

    otter-manager-schema.sql

    otter-manager-schema.sql 初始化...................................................................

    1.otter-manager-schema(v4.2.17).sql

    otter-manager v4.2.17版本的数据库脚本,创建好数据库之后执行文件中的sql即可

    PyPI 官网下载 | otter-grader-2.1.8.tar.gz

    资源来自pypi官网。 资源全名:otter-grader-2.1.8.tar.gz

    Python库 | otter-grader-0.0.26.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:otter-grader-0.0.26.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | otter_grader-0.0.29-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:otter_grader-0.0.29-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | odoo_otter-0.0.2-py3-none-any.whl

    资源分类:Python库 所属语言:Python 资源全名:odoo_otter-0.0.2-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    otter.ai-api:Otter.ai的非官方API

    otter.ai-api 这是语音到文本服务的非官方API。 内容 安装 npm install --save otter.ai-api 设置 import OtterApi from 'otter.ai-api' ; const otterApi = new OtterApi ( { email : 'email@example.com' , // ...

    otter-4.2.13

    包括manager.deployer-4.2.13、node.deployer-4.2.13和otter-manager-schema.sql(数据库文件),配置参考...

    harry-otter-and-the-order-of-the-amazon

    哈里·奥特(Harry Otter)和亚马逊秩序(Order of the Amazon) 这是一个使用Amazon start主题,在为学校项目制作的小游戏。 哈里·奥特(Harry Otter)是游戏的主要主人,这是一个勇敢的水獭,需要在亚马逊丛林中...

    QT开源网页浏览器otter-browser的源代码

    Otter Browser 水獭浏览器 水獭浏览器 - 模仿opera12界面, 基于qt5的webkit浏览器. 等于个人制作山寨版Safari, 支持二代半引擎, 苹果WebEngine/谷歌Blink. 作者: 波兰 Emdek 恩德克 代码可用,本人亲测,qt5.5+vs...

    alibaba-otter

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

    Otter-Iron-PRO:用于JBC C245手柄的USB-PD焊台

    水獭铁PRO基于JBC C245的USB-PD焊接站。更多即将推出 :) v1.0经过测试,可以运行,但效果不佳v1.1未经测试,不会被测试v2.0经过测试,效果很好! (更新:似乎消耗了太多电流,需要修复)固件请求并配置30 W或80 W...

    数据同步利器--otter搭建使用说明

    导历史表还需要程序实现吗? 还在用mysql的主从复制吗? Otter都能为你解决。

    otter-使用、维护说明.doc

    otter作为mysql日志级同步工具,维护简单,功能强大,性能优异

    otter-node

    otter-node

    otter节点工具node.deployer-4.2.18.tar.gz

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

    深入浅出Otter与Canal.pdf

    深入浅出Otter与Canal.pdf深入浅出Otter与Canal.pdf深入浅出Otter与Canal.pdf深入浅出Otter与Canal.pdf

    otter管理工具manager.deployer-4.2.18 .tar.gz

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

    Python库 | yoshi-otter-1.3.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:yoshi-otter-1.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

Global site tag (gtag.js) - Google Analytics