我正在根据我的需要构建一个 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
关于apache-kafka - 在 Apache Kafka 中构建和查询状态 : Kafka Stream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41528483/