从 Kafka 队列消费数据的流作业与循环批处理作业

Streaming job vs looped batch job for consuming data from Kafka queue

例如,如果我有一个始终 运行 的 Java 应用程序,它在数据到达时从 Kafka 队列中读取数据,目的是获取数据并将其转发到数据库... 无限循环批处理作业而不是通过 Kafka Streaming/Kafka Connect 进行循环是否有任何重大缺点?考虑到我不是在每个循环中毫无意义地创建或浪费资源,并且我正在正确处理多线程,是否有任何重大缺点或不这样做的理由?对于较长的 运行 应用程序,它是一个可行的选择吗?

(我有理由不在我们的用例中使用 Kafka Streams/Connect)

所以我和我的主管工程师谈过。事实证明,只要操作正确,通过批处理作业进行无限循环是一个可行的选择。这意味着您已经对配置进行了微调,在循环之间进行了短暂的暂停,并且您正在正确处理任何 connections/consumers/producers 的生命周期(如果它们失败了)。另一个团队已经在生产环境中进行了。