在 Kafka 流作业中执行同步数据库查询或 restful 调用是否是一种好的做法?



我使用 Kafka 流来处理实时数据,在 Kafka 流任务中,我需要访问 MySQL 来查询数据,并且需要调用另一个 restful 服务。

所有操作都是同步的。

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

这是一个好的做法吗?或者有什么好主意可以这样做吗?

更好的方法是将MySQL表流式传输到Kafka中,并访问那里的数据。这样做的好处是将流应用程序与 MySQL 数据库分离。如果您将来离开 MySQL,只要数据仍然从随后所在的位置写入 Kafka 主题,您的流应用程序就不会受到影响。如果只是存储在MySQL中的配置,您甚至可以采用某些人使用的模式,即使用Kafka作为数据的主要存储(使用日志压缩,以永久保留它(。

最新更新