数据库实时转移之Confluent介绍(一)
1.背景
最近研究了数据库实时转移的方案,目的是要把数据库中某些表的指定数据实时的转移到别的数据库中。
这与平时了解的数据库备份概念不同,数据库备份是对全库数据进行复制,永许有一定的延时。而本次研究的是对数据过滤后实时的转移,延迟时间要控制到毫秒级。
在调研的过程中了解到Confluent平台可以很好的实现这个功能,于是开始逐步深入探究其使用方法和工作原理。
但在实践的过程中发现国内用此平台的不多,这方面的资料非常之少,都是些只言片语的介绍,并没有一个实践的教程。
各种资料搜索下来,发现唯一的途径只能通过官网去学习,但是官网都是英文文档,对于英语不好的人学习起来更是吃力。
最后本人通过对官网文档的翻译,以及一些源码的阅读,最终成功搭建了一套实时数据转移系统,运行结果也比较稳定,满足了实际需求。
在此我也把这次的学习、实践成果分享出来,供需要的人参考,避免后来人走一些弯路。
2.Confluent初探
Confluent 官网资料很多,本章主要对一些必要的概念或者是和本实验有关的东西进行重点讲解。
2.1 Confluent Platform功能
说起Kafka相信大家很多人都知道,知道是一个高吞吐量的分布式发布订阅消息系统,国内很多公司也在用,但对于Confluent大家可能相对了解的较少。
Confluent是一家创业公司,由当时编写Kafka的几位程序员从Linked In公司离职后创立的,Confluent Platform 就是Confluent公司的主要产品,其平台实现主要依赖的就是Kafka。
以下是截取的两段官方文字介绍:
The Confluent Platform is a streaming platform that enables you to
organize and manage data from many different sources with one
reliable, high performance system.
https://docs.confluent.io/current/getting-started.html
Confluent Platform makes it easy build real-time data pipelines and
streaming applications. By integrating data from multiple sources and
locations into a single, central Event Streaming Platform for your
company.
https://docs.confluent.io/current/platform.html
上面两段话翻译过了就是:
Confluent是用来管理和组织不同数据源的流媒体平台,可以实时地把不同源和位置的数据集成到一个中心的事件流平台。而且还强调了这个平台很可靠、性能很高,总之就是很好用,很强大。
下面的图形象说明了Confluent可以实现的功能。
2.2 Confluent Platform组成
Confl