在 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 的 "Interactive Queries" 功能查看这些示例:
- 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 满足了我实时跟上实时交易的需求,但我需要能够建立药店状态并在任何给定点查询并找出商店中给定药物的数量。可能吗?这就是 Kafka Stream 的用途吗?
是的,您可以使用 Kafka Streams 构建一个应用程序,该应用程序使用 Kafka 主题并维护一个可查询的存储,该存储不断更新以维护当前的药物库存,如您的示例所示。
查看文档以开始使用:http://docs.confluent.io/current/streams/index.html
另请使用 Kafka Streams 的 "Interactive Queries" 功能查看这些示例:
- 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