卡夫卡消费者是连续的还是并行的?

时间:2019-02-12 11:21:14

标签: apache-kafka kafka-consumer-api

在我的申请中,有多个企业。每个企业登录并执行一些操作(例如上传数据),然后Kafka生产者获取数据并发送到主题。 Kafka用户的另一方使用该主题中的数据并执行业务逻辑。并保留到数据库中。 在这种情况下,单个企业登录时一切都很完美。但是当多个企业登录时,Kafka会依次使用。即 如何使该过程并行?在多个客户请求上。 预先感谢。

2 个答案:

答案 0 :(得分:0)

如果该主题只有一个分区,那么在消费者方面是连续的。一个分区的多个生产者无法保证订购。

消费者和生产者将批量处理消息并对其进行分块处理。

  

另一方面,Kafka使用者使用该主题中的数据并执行业务逻辑。并保留到数据库中。

我建议不要为此使用常规消费者。请研究Kafka Connect,看看是否支持您的数据库

答案 1 :(得分:0)

如前面的答案中所述,您可以使用多个分区。 另一个选择是您可以利用threading(Threadpoolexecutor)的优势,因此遵循以下步骤: 接收消息->创建并行线程以执行所需的逻辑->确认消息。 请确保您有节制(使用线程池执行程序)应用程序性能。