Castled 源码解析 一 整体介绍

以前我大概介绍过Castled ,后边为了方便学习以及共享,会整体介绍Castled 项目

代码包结构

Castled 是基于java 开发使用maven 进行包管理的,所以整体就是一个标准的maven多模块项目

  • 代码结构
├── CODE_OF_CONDUCT.md
├── LICENSE.md
├── README.md
├── commons   // 公共模块,包含的东西不少,比如cache,form 处理,castled 队列定义,异常,schema,model,kafka 发布订阅,jdbi 公共,还有一些工具类
├── connectors // 这个是一个核心,包含了app管理(外部集成的)jdbc 连接管理,oauth 认证的,warehouse 集成处理的(此处是核心,基于poll模式支持了增量以及全量模式),当然还支持tunnel模式(ssh)
├── container  // 属于Castled backend 的核心,主要包含了app管理,pipeline 管理,以及kafka 消息发送,对于不同的resource 提供了不少rest api,主要方便web app 使用,同时还提供了db 的migration 操作(基于Flyway)
├── docker-compose.build.yaml  // 容器镜像构建的
├── docker-compose.yaml // 本地环境运行
├── docs   // 官方文档,目前比较少
├── jarvis  // 主要提供了quartz 的一些包装,方便任务调度的执行
├── kube  // k8s 运行的
├── pom.xml
├── tools
└── webapp // web 前端,Castled 属于典型的前后端分离项目,但是如果从开发来说,直接放到app中管理起来会更加方便的,比如dremio 的做法(java 项目比较喜欢集成一起)

整体参考架构

下图是一个简单的说明,细节我们后边会介绍

 

 

构建

构建还是比较简单的,可以直接本地构建,然后使用docker-compose -f docker-compose.build.yaml 构建镜像

运行

docker-compose up -d

说明

以上支持简单的说明Castled 项目代码结构以及整体运行,后边会从每个模块的代码说明具体的运行机制以及我们如何扩展Castled

参考资料

https://github.com/castledio/castled

posted on   荣锋亮  阅读(59)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-01-25 stream-to-promise stream 2 promise 的npm 包
2021-01-25 grafana 容器数据迁移的处理
2020-01-25 poolifier nodejs 线程池工具
2019-01-25 openresty 集成 sentry 异常系统
2019-01-25 quicklink 基本使用
2019-01-25 pnpm 快速节省磁盘工具的包管理工具
2019-01-25 Load Balancing OpenSSH SFTP with HAProxy

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示