开云体育官方注册网址Debezium博客

更新(2019年10月11日):在Kubernetes上运行Debezium(以及Apache Kafka和Kafka Connect)的另一种更简单的方法开云体育官方注册网址是使用K8s操作符,例如Strimzi.你可以在OpenShift上找到Debezium的设置说明开云体育官方注册网址在这里,类似的步骤适用于普通Kubernetes。

我们的开云体育官方注册网址Debezium教程通过安装、启动和连接在一台主机上运行的所有Docker容器,逐步引导您使用开云体育官方注册网址Debezium。当然,你可以使用Docker Compose或你自己的脚本来简化这一点,尽管这只是在一台机器上自动运行所有容器。您真正想要的是在一个机器集群上运行容器。在这篇博客中,我们将使用来自Red Hat和谷歌开云体育官方注册网址的容器集群管理器来运行DebeziumKubernetes

Kubernetes是容器(Docker/Rocket/Hyper.sh)集群管理工具。像许多其他流行的集群管理和计算资源调度平台一样,Kubernetes的根源是谷歌,它对大规模运行容器并不陌生。它们开始、停止和聚集每周20亿个集装箱他们为Linux内核基础做出了很多贡献,使容器成为可能。他们著名的论文之一讨论了一个名为Borg的内部集群管理器。有了Kubernetes,谷歌厌倦了每个人都用Java实现他们的论文,所以他们决定自己实现这个:)

Kubernetes是用Go-lang编写的,正在迅速成为大规模调度、管理和集群容器的事实上的API。这个博客并不是Kubernetes的入门,所以我们建议你去开始来了解更多关于Kubernetes的信息。

当我们的MySQL连接器正在读取MySQL服务器或集群的binlog,它解析日志中的DDL语句,并在每个表的模式随时间发展的过程中构建内存模型。这个过程很重要,因为连接器在每个事件发生时使用表的定义为每个表生成事件。我们不能使用数据库的开云体育电动老虎机当前的模式,因为自连接器读取的时间点(或日志中的位置)以来,它可能已经更改了。

解析MySQL或任何其他主要关系数据库的DDL似乎是一项艰巨的任务。开云体育电动老虎机通常每个DBMS都有高度定制的SQL语法,尽管数据操作语言(DML)的语句通常与标准相当接近数据定义语言(DDL)语句通常不是这样,涉及更多特定于dbms的特性。

既然如此,我们为什么要为MySQL编写自己的DDL解析器呢?让我们首先看看Debezium需要DDL解析器来做开云体育官方注册网址什么。

Baidu
map