kafka生成主题并在单个事务中写入状态存储

问题描述 投票:0回答:2

是否可以生成Kafka主题并在单个事务中写入状态存储?但不要将事务作为主题消费的一部分启动。

编辑:我这样做的原因是能够过滤掉重复的请求。例如。服务公开REST接口,只是将消息写入主题。如果可以在单个事务中生成主题并写入状态存储,那么我可以轻松地首先查询状态存储以过滤掉重复。这也假定事务超时将小于REST超时,但不会与问题相关。

我也知道Confluent提供的here解决方案。但只要“从主题到商店”的同步时间小于阻塞时间,这将起作用。

apache-kafka kafka-producer-api confluent-kafka
2个回答
1
投票

https://kafka.apache.org/10/javadoc/org/apache/kafka/streams/processor/StateStore.html

State store是Streams API的一部分。因此,State store与Kafka-streams相关联。我建议在消息中使用标头来维护状态信息。

要么

创建另一个主题来存储中间信息。


1
投票

如果我理解你正确使用案例,你可以这样做:

  • 将REST调用结果写入某个主题 - raw-data(使用生产者)
  • 使用Kafka Streams处理来自raw-data主题的数据。使用Kafka Streams,您可以实现检查/过滤重复项等的整个逻辑,并将结果写入黄金主题。
© www.soinside.com 2019 - 2024. All rights reserved.