`
鳄鱼旭
  • 浏览: 76410 次
文章分类
社区版块
存档分类
最新评论

Otter源代码解析(五)

 
阅读更多

全部文档索引:

Otter源代码解析(一): http://eyuxu.iteye.com/blog/1941894

Otter源代码解析(二) : http://eyuxu.iteye.com/blog/1942518

Otter源代码解析(三): http://eyuxu.iteye.com/blog/1942519

Otter源代码解析(四): http://eyuxu.iteye.com/blog/1942521

Otter源代码解析(五): http://eyuxu.iteye.com/blog/1942522

Otter源代码解析(六): http://eyuxu.iteye.com/blog/1942549

Otter源代码解析(七): http://eyuxu.iteye.com/blog/1942578

Otter源代码解析(八): http://eyuxu.iteye.com/blog/1942780

Otter源代码解析(九): http://eyuxu.iteye.com/blog/1942786

 

Node的SETL过程都比较复杂,挺难理解的,几个过程的通讯使用的是基于管道的架构(这个设计还是挺赞的,很多架构设计的思想实际上是来源于其它方面的,甚至是非技术的思维,所以架构师应该多读书,多读各种类型的书)一个过程处理完之后将数据写入管道(PipeLine),下一个步骤则从对应的管道读取。

 

在读具体的SETL的调度之前,读者需要首先去了解Otter的官方文档对于SETL的说明(https://github.com/alibaba/otter ),对于其中已经提到的内容,本文不会重复说明。

 

简要说明下PipeLine,设计的也比较简洁:

 



 

PipeLine主要的操作就是Put/Get,对于S-->E、T-->L,还有节点内部的处理,可以使用基于Memory的PipeLine,对于远程的节点数据传输(比如E-->T的跨节点传输),使用的是RPC或者Http,这里面需要注意的几个事项,图中已经做了说明:

1. 数据传输实际上是Pull的模式,并不是Push的模式,即数据准备好以后等待另外一端需要的时候再传输;

2. 数据的序列化采用的是ProtoBuf(https://code.google.com/p/protobuf/),也可以做加密传输,但是使用的Key是Path,一般性的安全需求可以满足,但是如果传输的数据是非常敏感的,还是用专线的好;

3. 压缩也是在Pipe这一层做掉的,具体就不展开了。

 

 

  • 大小: 38.1 KB
分享到:
评论

相关推荐

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

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

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

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

    otter源码包

    在`otter-master`这个压缩包中,你将找到Otter的源代码,包括了项目的结构、模块划分、核心类的实现等。通过阅读源码,你可以了解到以下内容: 1. **代码结构**:了解Otter的模块划分,如manager、node、common、...

    深入浅出Otter与Canal.pdf

    Otter通过解析数据库的增量日志来实现数据的迁移与同步。 2. Canal开源产品: Otter系统基于Canal开源产品,Canal主要用于获取MySQL数据库的增量日志数据。Canal的设计初衷是为了满足阿里巴巴在杭州和美国双机房...

    otter 资料PDF(深入理解otter (偏向技术层面)、otter使用介绍 (偏向使用层面) )

    otter 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统。 深入理解otter (偏向技术层面).pdf otter使用介绍 (偏向使用层面) .pdf

    otter部署使用手册.zip

    Otter,作为一款强大的分布式数据库同步管理系统,主要用于实现数据库增量日志解析,从而实现实时或准实时的数据同步,无论是本机房内的数据库还是跨地域的异地机房,Otter都能高效地完成任务。在本文中,我们将深入...

    otter-使用、维护说明.doc

    Canal 是 Otter 内部用于捕获和解析数据库变更的日志组件。内存存储的 buffer 大小(例如 1024M)是配置的关键,因为它决定了 Otter 可以暂存多少数据变更。此外,可以根据系统的资源调整并行度和批次大小,例如 2...

    otter部署文档说明

    - **Otter**是一种用于实现跨数据中心或跨地域数据库同步的解决方案,主要基于阿里巴巴开源项目Canal来捕获MySQL实例的Binlog日志,并对这些日志进行解析处理后发送至目标数据库。 - **工作原理**: - **基于Canal...

    深入理解otter(数据同步)

    otter也提供了一种叫做“Pipeline”的机制,这个机制允许从源端到目标端的整个数据流通过一些同步映射过程来完成。一个Pipeline可以看作是一条数据流的通道,而多个Pipeline可以组合成一个同步通道,从而在双向同步...

    深入理解otter.pptx

    2. **四边形模型**:持续不断地处理数据,尽可能保持五个批次的数据同时处理。 - **优点**:提高了数据处理的速度,减少了等待时间。 - **缺点**:对系统的资源消耗较大。 ##### 如何保证数据不丢失 Otter采用了...

    七锋otter_otter_

    2. **架构原理**:Otter采用主从复制的架构,通过binlog解析,将源数据库的变更事件转化为可以跨网络传输的格式,然后将这些事件发送到目标数据库,进行应用。Otter还包含一个中央协调服务器,负责管理任务配置和...

    otter4使用介绍

    #### 五、Otter4 与 Otter3 的对比 Otter4相比Otter3在性能上有显著提升: - 文件同步速度从1000/分钟提升至8000/分钟,带宽从60MB/分钟提升至500MB/分钟。 - 数据记录同步速度从20000/分钟提升至400000/分钟。 #...

    Otter配置教程,otter从入门配置到高级配置

    Otter配置教程,otter从入门配置到高级配置,适合入门学习以及配置参考

    alibaba-otter

    项目背景 阿里巴巴B2B公司,因为业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出...定位: 基于数据库增量日志解析,准实时同步到本机房或异地机房的mysql/oracle数据库. 一个分布式数据库同步系统

    otter4使用介绍.pdf

    #### 五、Otter4 与 Otter3 的对比 与Otter3相比,Otter4在性能上有显著提升: - 文件同步方面,Otter3每分钟只能处理1000个文件,最大传输速度为60MB/分钟;而Otter4可以处理8000个文件,最大传输速度达到了500MB...

    otter集群配置.docx

    #### 五、注意事项 - 在部署过程中,需要注意节点数量的配置,确保正确配置Zookeeper的服务类型。 - 对于Manager和Node的配置,需要仔细核对相关信息,避免因配置错误导致服务无法正常运行。 - 测试阶段应全面验证...

    Otter 双A同步搭建入门

    5. 创建同步任务:在Manager中创建新的同步任务,指定源数据库和目标数据库,配置双A同步策略。 五、启动与监控 1. 启动Zookeeper集群。 2. 启动Manager:执行对应的启动脚本,如`nohup java -jar manager.jar > ...

    linux安装otter需要用到的安装包,与otter的介绍

    压缩包里面有:aria2-1.17.1.tar.gz,jdk-7u79-linux-x64.tar.gz,manager.deployer-4.2.13.tar.gz,node.deployer-4.2.13.tar.gz,zookeeper-3.4.5-cdh4.3.0.tar.gz,深入理解otter.pptx,otter4使用介绍.pptx

Global site tag (gtag.js) - Google Analytics