Kafka生产者vs Kafka连接以读取MySQL数据源

时间:2018-07-10 13:52:44

标签: mysql apache-kafka apache-storm apache-kafka-connect

我创建了一个kafka生产者,该生产者从MySQL数据库读取网站点击数据流,并且运行良好。我发现我也可以使用kafka connect或debezium将kafka连接到MySQL数据源。我的目标是使用kafka提取数据,并将其发送到Storm进行使用和分析。看起来这两种方法都可以实现我的目标,但是使用kafka生产者可能会要求我构建一个kafka服务,以不断读取数据源。

对于我的数据管道,这两种方法中哪一种会更有效?

1 个答案:

答案 0 :(得分:0)

我建议不要重新发明轮子,而是使用Debezium(免责声明:我是项目负责人)。

它功能丰富(受支持的数据类型,配置选项,可以执行初始快照等),并且在生产中经过了良好的测试。要记住的另一个关键方面是,Debezium基于读取数据库的日志而不是轮询(您可能在生产者中进行相同的操作,因此尚不清楚)。与轮询相比,这具有许多优点:

  • 没有像低频轮询那样的延迟,没有像高频轮询那样的CPU负载
  • 可以捕获所有更改而不会在两次民意调查之间遗漏一些
  • 可以捕获DELETE
  • 对架构没有影响(不需要列来标识更改的行)