【源码】otter工程结构
2024-10-20 04:10:18
最近在搞数据同步相关的内容,需要对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
最后两块的具体内容还未仔细分析,需要后续进行补充。
最新文章
- 【转】App架构设计经验谈:接口的设计
- C# 属性控件2
- [New Portal]Windows Azure Virtual Machine (19) 关闭Azure Virtual Machine与VIP Address,Internal IP Address的关系(1)
- 加州大学伯克利分校Stat2.3x Inference 统计推断学习笔记: Section 3 One-sample and two-sample tests
- 基于XMPP协议(openfire服务器)的消息推送实现
- 第一个CSS变量:currentColor
- SQL基础2
- 笔记一:Python的PyDev插件在eclipse上面安装(新的插件地址 location)
- windows下安装redis和php的redis扩展
- JQuery中阻止事件冒泡方式及其区别
- how to write a struct to a file directly?
- iOS 添加导航按钮
- 微信小程序开发之模板消息
- APNs 推送原理及问题
- C# CancellationTokenSource 终止线程 CancellationTokenSource实现对超时任务的取消
- [JS] ECMAScript 6 - Variable : compare with c#
- hibernate创建构架
- Find the peace with yourself
- java语法基础练习
- SQL Server ->;>; 使用CROSS APPLY语句是遇到聚合函数中包含外部引用列时报错