Castled 源码解析 - connector 模块connector以及poller说明
connector 属于Castled 一个比较核心的东西,包含了核心部分的datawarehouse数据poll 处理,同时也包含了对于不同外部服务集成的处理
当然才代码中我们也可以看到一部分基于stream 的处理(文件,jdbc,s3.。。。),auth部分基于了oauth目前更多是关注认证,但是没有授权的处理
以下主要说明下关于jdbc 的处理以及数据poll的处理,关于外部集成部分后边单独介绍(属于一个重点)
代码结构
├── LICENSE.md
├── javadoc
│ └── README.md
├── pom.xml
└── src
├── main
│ └── java
│ └── io
│ └── castled
│ ├── OptionsReferences.java
│ ├── apps
│ ├── cache
│ ├── commons // 异常以及模型,同时包含了stream 的处理(主要处理csv以及json格式的)
│ ├── constants
│ ├── dtos
│ ├── exceptions
│ ├── filestorage // 基于对象存储的处理(目前主要是aws 以及gcs)
│ ├── jdbc // jdbc 访问处理,包含链接管理以及ssh tunnel 的集成
│ ├── models
│ ├── oauth
│ ├── optionsfetchers
│ ├── services
│ ├── utils
│ └── warehouses // 包含了关于基于pg datawarehouse 的处理,核心
└── test
└── java
└── io
└── castled
├── AppTest.java
└── warehouses
代码说明
- 核心组件
包含了connector 以及poller
connector 组件关系
poller
poller 依赖的RecordInputStream
RecordInputStream类继承关系
说明
以上主要简单介绍关于connector以及poller说明,后边会详细说明下内部实现细节
参考资料
https://github.com/castledio/castled
https://oss-docs.castled.io/getting-started/Pipelines/overview
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2021-01-31 使用clinicjs 分析cube.js 的调用情况
2021-01-31 sitespeed.io 开源web 性能监控&&优化工具集
2021-01-31 sideway/joi js 强大的data schma 校验框架
2021-01-31 cube.js 最新版本的一些特性
2020-01-31 gox 简单灵活的golang 跨平台编译工具
2020-01-31 mailhog 作为smtp server mock工具
2019-01-31 几个方便的nodejs 任务调度框架