kafka作为在访问出站REST API之前批处理有效负载的缓冲区

时间:2019-04-27 03:04:31

标签: apache-kafka

背景:

  1. 我正在编写一个获取多个事件的kafka流处理器,它需要处理这些事件并通过批处理它们或将它们发送到多个出站REST API(如果它们具有高优先级,则在发生时发送)确定(基于事件分类)。
  2. 分批处理应同时绑定时间(1分钟)和内存限制(1 MB)。

问题: 我可以使用kafka作为批处理要求的缓冲区吗?

这个想法是定义一个kafka生产者,batch.size为1MB,linger.ms为1分钟,然后将这些事件放到kafka主题中,键为出站API URL标识符。然后,消费者线程将每分钟(或每当它们获得1 MB大小的有效负载)一次读取所有消息,将所有这些消息分组为一个有效负载,然后访问出站API。

我担心的是,这是否是一个矫kill过正,如果我可以使用java.nio包实现类似的功能,但是再次重申,对于基于时间的限制,我仍然必须在上面写一个包装器

0 个答案:

没有答案