该数据同步系统大致由以下三部分组成
- DM 全量同步服务 github.com/tal-tech/cds/dm
- RTU 实时增量同步服务 github.com/tal-tech/cds/rtu
- Galaxy 网页控制台服务 github.com/tal-tech/cds/galaxy
流程如下:
- 用户可以在网页控制台添加数据源,自动生成DDL,添加同步任务,该任务会被发送到etcd。
- dm会收到全量同步的通知,执行历史数据的全量同步工作。
- 之后网页控制台服务会指定connector开启数据库log监听工作,数据会进入kafka。
- 监听etcd集群的RTU实时增量同步服务服务会发现有新的任务,RTU自动领取任务,到kafka消费数据并同步至ClickHouse。
上述服务的开发使用了go语言。借助于go-zero中的工具包,如goctl等, 我们快速实现了它。它还加入了支持自适应mongoDB结构变化,支持数据分表等。
我们相信这是go语言与ClickHouse探索大数据的一个不错的起点,我们希望有更多的人能够参与进来。
CDS项目地址:github.com/tal-tech/cd…
go-zero项目地址:github.com/tal-tech/go…
欢迎大家 star 并加入微信社区 ????
本文来自:51CTO博客
感谢作者:wx607fee5b9d0e6
查看原文:Go 大数据生态迎来重要产品 CDS
相关阅读 >>
【Gocn酷Go推荐】Goroutine 泄漏防治神器 Goleak
[系列] - Go-gin-api 规划目录和参数验证(二)
更多相关阅读请进入《Go》频道 >>

Go语言101
一个与时俱进的Go编程知识库。