在Kafka Streams作业中执行数据库同步查询或静态调用是一种好习惯吗?

时间:2018-08-21 12:03:24

标签: apache-kafka bigdata streaming apache-kafka-streams

我使用Kafka流来处理实时数据,在Kafka流任务中,我需要访问MySQL来查询数据,并且需要调用其他静态服务。

所有操作都是同步的。

恐怕同步调用会降低流任务的处理能力。

这是一个好习惯吗?或有什么好主意吗?

1 个答案:

答案 0 :(得分:2)

更好的方法是将您的MySQL表流式传输到Kafka中,然后在其中访问数据。这具有将流应用程序与MySQL数据库解耦的优势。如果您将来不再使用MySQL,只要仍将数据从后来居住的地方写入Kafka主题,您的流应用就不会受到影响。如果只是存储在MySQL中的配置,您甚至可以采用某些人使用Kafka作为数据的 primary 存储的模式(使用日志压缩,以永久保存它)。