在Apache Kafka中构建和查询状态:Kafka Stream?

Building and querying state in Apache Kafka: Kafka Stream?

我正在为我的需要构建一个apache集群,其中大多数是无状态的。但是有一种情况我确实需要状态。

要说明一下,我要存储的是所有开设的药房商店以及在该商店和每家商店发生的交易。因此,商店以药品的初始状态开始营业。随着药品的出售和库存的增加,国家不断变化。

尽管Kafka可以满足我实时处理实时交易的需求,但我需要能够建立药房状态并查询并在任何给定的点上找出商店中某种药品的数量。是否可以?那是Kafka Stream的用途吗?


是的,您可以使用Kafka Streams构建一个使用Kafka主题并维护可查询商店的应用程序,该商店会不断更新以维护当前的药品库存(如您的示例)。

查看文档以开始使用:http://docs.confluent.io/current/streams/index.html

还可以使用Kafka Streams的"交互式查询"功能查看以下示例:

  • https://github.com/confluentinc/examples/blob/3.1.x/kafka-streams/src/main/java/io/confluent/examples/streams/interactivequeries/WordCountInteractiveQueriesExample.java
  • https://github.com/confluentinc/examples/blob/3.1.x/kafka-streams/src/main/java/io/confluent/examples/streams/interactivequeries/kafkamusic/KafkaMusicExample.java