gpt4 book ai didi

apache-kafka - 如何在 apache kafka 主题中获取最后一个事件状态

转载 作者:行者123 更新时间:2023-12-05 06:32:03 24 4
gpt4 key购买 nike

在事件驱动架构中,我们使用 Apache Kafka 作为持久化手段(没有可用的数据库)

我们设置了一个 Apache Kafka 主题来发布某个事件的状态

随着事件经历不同的步骤,它的状态会发生变化;这些更改中的每一项都会在主题中发布:

ID1:started
ID2:started
ID3:started
ID1:intermediate

...

这种场景下,如何获取某个ID的最后状态?

最佳答案

您可以将事件作为 KTable 使用,以获取任何给定键的最新状态。

考虑到以下事件:

ID1:开始ID2:开始ID3:开始ID1:中级

如果kafka主题包含以下格式的数据:

<ID1:started>
<ID2:started>
<ID3:started>
<ID1:intermediate>

其中 ID1、ID2 等是键,第二部分是状态。

您可以将此主题作为 KTable 使用:

KTable<String,String> statusTable = builder.table(TopicName);

预期输出将:

<ID1:intermediate>

如果事件有不同的键,您可以使用 .map() 操作更改键。

您可以在这里引用概念:https://kafka.apache.org/11/documentation/streams/developer-guide/dsl-api.html#creating-source-streams-from-kafka

关于将主题作为表格使用,请引用方法:https://kafka.apache.org/11/javadoc/org/apache/kafka/streams/StreamsBuilder.html#table-java.lang.String-

关于apache-kafka - 如何在 apache kafka 主题中获取最后一个事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51519183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com