`
m635674608
  • 浏览: 5031276 次
  • 性别: 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

    otter-grader是一个Python库,它专注于代码自动评分和测试,特别是对于教育领域,帮助教师高效地评估学生的编程作业。这个库的版本号为2.1.8,意味着它是该库的一个更新版本,可能包含了修复的错误、新特性或性能...

    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-使用、维护说明.doc

    Otter 是一个强大的 MySQL 日志级同步工具,它主要用于实现数据库之间的实时数据迁移或复制。以下是对 Otter 使用和维护的详细说明: 1. **Manager 登录与配置**: Otter 的管理平台通过 Manager 组件进行配置和...

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

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

    otter-node

    "Otter-Node" 是一个专门用于分布式数据同步的组件,尤其在大数据处理领域中扮演着重要的角色。这个名字可能指的是 Apache Otter 或是其他类似工具的节点组件,它负责在不同的数据存储系统之间进行实时或近实时的...

    otter部署文档说明

    - 导入Manager初始化库:`otter-manager-schema.sql`。 - **配置Manager**: - 解压缩Manager包,并根据实际情况修改配置文件。 - `otter.domainName`: Manager的域名或IP地址。 - `otter.port`: Web访问端口。...

    otter-4.2.13

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

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

    Otter 是阿里巴巴开源的一款强大的数据同步工具,特别适合在分布式环境中进行实时的数据迁移和同步。它解决了传统数据库主从复制的局限性,提供了更高效、灵活的解决方案。本篇文章将详细介绍Otter的主要功能、架构...

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

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

    基于QT开发的浏览器源代码(otter-browser).zip

    【基于QT开发的浏览器源代码(otter-browser)】是一个开放源码的项目,它使用了流行的跨平台应用程序开发框架Qt来构建一个功能完备的网络浏览器。Qt是一个强大的C++库,提供了丰富的图形用户界面(GUI)工具和系统...

    alibaba-otter

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

    dhc-6_twin_otter.zip

    总的来说,"dhc-6_twin_otter.zip"压缩包提供了DHС-6 Twin Otter飞机的STK仿真模型,包含了一个模型定义文件和纹理图像,能够帮助用户在STK环境中进行航空领域的仿真研究,无论是为了教学、演示还是实际项目的需求...

    otter4使用介绍.pdf

    在使用和运维方面,otter4通过分布式架构和集群化部署提供了稳定的服务。其同步通道(Channel)和同步映射(DateMediaPair)的设计使得系统能够灵活地处理不同类型的数据库同步需求。而冲突检测与补救机制确保了数据...

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

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

Global site tag (gtag.js) - Google Analytics