前文我们通过 Canal 来实时同步数据,Debeizum 是一种比 Canal 更好的实时同步方案,它底层是基于 Kafka-connect 为核心构建的,可以完美对接 Kafka 家族生态,上游支持接入 MongoDB、MySQL、PostgreSQL、SQL Server、Oracle、Db2、Cassandra、Vitess,下游是只支持接入 Kafka,然后我们再从 Kafka 中消费数据,可以选择 Kafka-connect 也可以选择 Logstash 来再做一层数据清洗,最后直接对接到 ElasticSearch/Cassandra/HBase 等三方数据源中即可,官方文档原话如下:
Debezium’s goal is to build up a library of connectors that capture changes from a variety of database management systems and produce events with very similar structures, making it far easier for your applications to consume and respond to the events regardless of where the changes originated.
它的功能还是非常强大的,本来就是 Kafka 家族生态中的一个产品,肯定比 Canal 对接 Kafka 性能要好得多,而且 Canal 上游只能对接 MySQL,Debeizum 上游能有更多选择且它的开发厂家是 Redhat 大厂有保障,不像某里巴巴不管啥框架开源一段时间试试市场反应,然后就闭源不维护了,如果我来选择,那我肯定选择 Redhat 的 Debeizum 来捕获变化的数据。