最近在搞数据同步相关的内容,需要对otter的代码进行扩展,所以需要先熟悉一下otter的源码。首先我们整体来看下otter的工程结构。otter的工程结构比较复杂,需要花费一定的时间来理解各个部分的内容,仅仅通过官方文档无法准确的理解各个模块的内容,现分析如下:

otter整体的工程结构如下:

otter
|--manager
|--biz
|--deployer
|--web
|--node
|--canal
|--common
|--deployer
|--etl
|--extend
|--shared
|--arbitrate
|--common
|--communication
|--etl
|--push

其中,通过官方文档我们可以知道,manager和node是要单独部分的工程,所以我们可以大体了解如下内容:

  • manager是对node节点进行管理,数据统计,node节点之间的协调,基本信息的同步等。

    • biz:业务处理内容
    • deployer:manager打包和启动的类,主要内置一个jetty的服务启动器,通过OtterManagerLauncher启动
    • web:manager的web页面相关内容,包括接口
  • node是实际上进行数据同步的工程
    • canal:canal客户端,就是订阅binlog的客户端,Otter采用的是Embed的方式引入Canal
    • common:公共内容定义
    • deployer:打包工具,运行脚本,内置jetty服务器,启动类OtterLauncher
    • etl:S.E.T.L 调度、处理的实现,是Otter最复杂、也是最核心的部分
    • extend:留有的扩展类,可以自定义一些处理过程
  • shared是manager和node公有的子系统
    • arbitrate:仲裁器相关内容,代码比较多,后面我们慢慢分析
    • common:manager和node用到的一些公共类
    • communication:远程调用相关内容
    • etl
    • push

最后两块的具体内容还未仔细分析,需要后续进行补充。

最新文章

  1. 【转】App架构设计经验谈:接口的设计
  2. C# 属性控件2
  3. [New Portal]Windows Azure Virtual Machine (19) 关闭Azure Virtual Machine与VIP Address,Internal IP Address的关系(1)
  4. 加州大学伯克利分校Stat2.3x Inference 统计推断学习笔记: Section 3 One-sample and two-sample tests
  5. 基于XMPP协议(openfire服务器)的消息推送实现
  6. 第一个CSS变量:currentColor
  7. SQL基础2
  8. 笔记一:Python的PyDev插件在eclipse上面安装(新的插件地址 location)
  9. windows下安装redis和php的redis扩展
  10. JQuery中阻止事件冒泡方式及其区别
  11. how to write a struct to a file directly?
  12. iOS 添加导航按钮
  13. 微信小程序开发之模板消息
  14. APNs 推送原理及问题
  15. C# CancellationTokenSource 终止线程 CancellationTokenSource实现对超时任务的取消
  16. [JS] ECMAScript 6 - Variable : compare with c#
  17. hibernate创建构架
  18. Find the peace with yourself
  19. java语法基础练习
  20. SQL Server ->> 使用CROSS APPLY语句是遇到聚合函数中包含外部引用列时报错

热门文章

  1. C#中使用双缓冲来避免绘制图像过程中闪烁
  2. Populating Next Right Pointers in Each Node(I and II)
  3. Eclipse如何提高开发效率
  4. 开启flume的远程调试功能
  5. Django之Apps源码学习
  6. linux/unix解压缩
  7. Lintcode399 Nuts & Bolts Problem solution 题解
  8. ScalaPB(2): 在scala中用gRPC实现微服务
  9. ORA-01658: 无法为表空间 YJXT 中的段创建 INITIAL 区
  10. 洛谷 P1490 解题报告