Apache kafka 卡夫卡溪流+;如何异步终止状态存储中的条目

Apache kafka 卡夫卡溪流+;如何异步终止状态存储中的条目,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,我有一个kafka streams拓扑,它从输入主题读取更新某些状态,并确定状态条目是否需要保留在状态存储中或可以删除。如果可以删除它,它将被删除,否则我有一个标点器,每10秒运行一次,并使状态存储中的项目过期 我最近发现标点符号运行在同一个流线程上,可能会阻止流的处理 我可以使用哪些模式在标点器内部或在单独的线程池中执行逻辑,以避免阻塞流处理 感谢您的帮助。已经说过,到目前为止,国营商店不可能做到这一点,因为他在Confluent工作,我相信这是最新消息 然而,我们在本例中使用的是KStrea

我有一个kafka streams拓扑,它从输入主题读取更新某些状态,并确定状态条目是否需要保留在状态存储中或可以删除。如果可以删除它,它将被删除,否则我有一个标点器,每10秒运行一次,并使状态存储中的项目过期

我最近发现标点符号运行在同一个流线程上,可能会阻止流的处理

我可以使用哪些模式在标点器内部或在单独的线程池中执行逻辑,以避免阻塞流处理

感谢您的帮助。

已经说过,到目前为止,国营商店不可能做到这一点,因为他在Confluent工作,我相信这是最新消息

然而,我们在本例中使用的是KStream KTable连接,而不是状态存储。我不确定,如果这对你的情况是可能的,但让我解释一下,我们所做的,也许对你也有一些用处:

我们有两个主题A和B,主题A与KStream一起使用。主题B与KTable一起使用。我们转换KTable数据,以便在主题A的KStream上加入它。我们加入它,执行我们的操作,并通过使用
map
通过
null
值写入主题B,从而从主题B中“删除”数据。因此,当我们在主题A中获得另一条记录时,KTable中不再有可加入的值(这正是我们想要的)


我希望有帮助。

这是不可能的。