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

Apache kafka 在Kafka streams作业中执行同步数据库查询或restful调用是一种好的做法吗?,apache-kafka,bigdata,streaming,apache-kafka-streams,Apache Kafka,Bigdata,Streaming,Apache Kafka Streams,我使用Kafka streams来处理实时数据,在Kafka streams任务中,我需要访问MySQL来查询数据,并且需要调用另一个restful服务 所有操作都是同步的 恐怕同步调用会降低streams任务的处理能力 这是一种好的做法吗?或者有什么好主意吗?更好的方法是将MySQL表流式传输到Kafka中,并访问其中的数据。这样做的好处是将streams应用程序与MySQL数据库分离。如果您将来离开MySQL,只要数据仍然从其随后所在的位置写入Kafka主题,您的streams应用程序就不会

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

所有操作都是同步的

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


这是一种好的做法吗?或者有什么好主意吗?

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

这取决于您想要实现什么以及在数据库级别需要什么操作,但是我建议您看看Kafka JDBC connector,这样您就可以将数据从MySQL流式传输到Kafka,然后使用Kafka流式传输做任何您想做的事。@GiorgosMyrianthous我编辑这个问题以清楚地描述我的问题,非常感谢。MySQL查询的数据需要怎么处理?对于一些旧系统,它的数据存储在MySQL中。我需要查询MySQL的一些配置等。如前所述:建议使用Kafka Connect将数据加载到主题中,并将数据作为
KTable
(或者
GlobalKTable
)读取到应用程序中。您可以通过联接进行查找。