繁体   English   中英

Kafka:并行的有边界批处理

[英]Kafka: Bounded Batch Processing in Parallel

我想使用Kafka进行有界批处理 ,程序将在其中知道何时处理最后一条记录。

批量:

  • 读取平面文件
  • 将每一行作为消息发送给Kafka

Kafka监听器:

  • 消耗来自Kafka的消息
  • 将记录插入数据库
  • 如果它是最后一条记录,则在数据库中将批处理作业标记为已完成。

一种方法可能是使用单个Kafka分区,假设可以保证FIFO(先进先出),然后使批处理程序发送isLastRecord标志。

但是,这意味着处理将仅限于单线程(单用户)。

有什么办法可以利用多个Kafka分区来实现并行处理?

如果您需要每个文件的有序保证,则只能使用一个分区。

如果您有多个文件,则可以对不同的文件使用不同的分区。

如果文件中的每一行都是数据库的插入,我想知道是否首先需要顺序保证,还是可以按任何顺序插入所有记录/行?

一个更基本的问题是:为什么首先需要将数据放入Kafka? 为什么不读取文件并直接插入?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM