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

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

 

本节讲述Extract过程:

 

该过程的结构如下:

 

 注意这里的OtterExtractorFactory与OtterExtractor并不是选择一个合适的Extractor处理,而是搭建成一个职责链(但设计上并不完全是,个人觉得设计成职责链更合适一些),每个Extractor顺序处理。其中的DatabaseExtractor由于会做数据库反查会比较耗时,所以内部使用线程池做了并发优化。 因而做成一个池化的对象(池化的说明参见最开始的解释),所以并不是单例的Bean。其他的Extractor都是单例的。

 

请原谅,水平有限,暂时还没弄懂GroupExtractor是做什么用的,搞清楚之后会更新文档。

  • 大小: 50 KB
分享到:
评论
1 楼 agapple 2013-09-18  
GroupExtractor字面意思就是组. 在otter内部使用主要解决两类需求:

1.  文件同步. 一条记录对应的图片,可能会有一个或者多个字段,比如会有image_path,image_version来决定图片,所以我们可以定义这两个字段为一组,只要满足组内任意一个字段的变更,就会认为需要文件同步.

2.  数据上的组同步,比如国家,省份,城市,可能在数据库为三个字段. 如果是双A同步,两地同时修改这些字段,但业务上可能在A地修改了国家为美国,在B地修改为省份为浙江,然后一同步,最终就会变成美国,浙江这样的情况. 这种情况可以通过group来解决,将国家,省份,城市做一个group,组内任何一个字段发生了变更,其余字段会做为整体一起变更.

相关推荐

    otter源码包

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

    基于java的开发源码-网络电视源代码TV-Browser.zip

    【标题】"基于Java的开发源码-网络电视源代码TV-Browser.zip" 提供的是一份使用Java语言编写的网络电视应用的源代码。TV-Browser是一款开源的网络电视客户端,它允许用户浏览和观看来自全球各地的网络电视频道。 ...

    otter分布式数据库同步系统 v4.2.18.zip

    Otter的源代码对于学习数据库同步原理和技术实现非常有价值。通过对源码的阅读和研究,可以深入理解分布式系统的设计思路,掌握如何处理数据库变更事件、如何保证数据的一致性以及如何进行错误处理等关键技术。 ...

    深入浅出Otter与Canal.zip

    Otter支持双向同步,即可以从源数据库到目标数据库,也可以从目标数据库回溯到源数据库,这在多数据中心的部署中非常有用。 Canal是阿里巴巴开源的一款轻量级数据库实时变更数据订阅与消费组件,同样专注于MySQL的...

    aria2-1.19.0.tar.gz

    标题"aria2-1.19.0.tar.gz"指的是一个名为"aria2"的软件的版本1.19.0的源代码包,它被存储在一个`.tar.gz`格式的压缩文件中。`.tar.gz`是Unix/Linux系统中常见的文件打包和压缩格式,它首先使用`tar`命令将多个文件...

    服务器框架

    - **简介**:Otter 是一个分布式数据库同步系统,基于数据库增量日志解析,能够准实时地同步数据到本地或远程数据库。 - **特点**: - **实时性**:Otter 支持准实时的数据同步,能够在短时间内完成数据传输。 - *...

Global site tag (gtag.js) - Google Analytics