Kafka Consumer API与Streams API进行事件过滤

时间:2018-11-15 11:41:32

标签: apache-kafka kafka-consumer-api apache-kafka-streams

在这种使用情况下,我应该使用Kafka Consumer API还是Kafka Streams API?我有一个主题,有许多消费群体正在使用它。本主题包含一种类型的事件,该事件是JSON消息,内部具有一个类型字段。一些消息将由某些消费者组使用,而不由其他消费者组使用,一个消费者组可能根本不会使用许多消息。

我的问题是: 我应该使用使用者API,然后在每个事件上读取类型字段,然后根据类型字段删除或处理事件。

或者,我应该使用Streams API,过滤方法和谓词进行过滤吗?

使用事件后,计划要处理该事件(数据库删除,更新或其他取决于服务的事件),如果发生故障,我将产生一个单独的队列,稍后将对其进行重新处理。

谢谢。

1 个答案:

答案 0 :(得分:2)

这似乎只是一个见解。我个人将使用Streams / KSQL,可能需要维护一些较小的代码。您可以拥有另一个包含清除数据的中间主题,然后可以将其附加到Connect接收器,其他使用者或其他Stream和KSQL进程。使用流,您可以在不同的计算机上扩展单个应用程序,可以存储状态,具有备用副本等,这将由PITA自己完成。