Apache kafka 如何根据处理的消息数量安排定期任务?

Apache kafka 如何根据处理的消息数量安排定期任务?,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,我想使用Kafka处理器API来处理来自Kafka的消息。 我想调用一些周期性函数,比如: context.schedule(IntervalMS,标点类型,somesparentor),其中somesparentor执行一些定期作业,但使用间隔时间作为触发器,我希望在处理一些消息后调用该任务 是否可以在Kafka streams中执行此类触发?是的,可以使用Kafka streams状态存储。 逻辑取决于在达到已处理消息的数量时需要做什么 如果需要将数据传播到下一个处理器或接收器节点,则需要将

我想使用Kafka处理器API来处理来自Kafka的消息。 我想调用一些周期性函数,比如:
context.schedule(IntervalMS,标点类型,somesparentor)
,其中somesparentor执行一些定期作业,但使用间隔时间作为触发器,我希望在处理一些消息后调用该任务


是否可以在Kafka streams中执行此类触发?

是的,可以使用Kafka streams状态存储。 逻辑取决于在达到已处理消息的数量时需要做什么

如果需要将数据传播到下一个处理器或接收器节点,则需要将聚合值作为对象列表存储在键值状态存储中。在
Processor.process(…)
中,您将数据放入键值存储,然后检查项目数量是否达到限制,并执行所需的逻辑(如
processorContext.forward(…)
)。请看一个类似的例子

若在达到数字后需要执行一些逻辑,而不需要值,那个么可以只存储计数器,并在
处理器内。进程(…)
递增该值