Kafka Stream自定义州立商店

时间:2018-11-11 12:06:34

标签: apache-kafka-streams

我一直在准备有关状态存储的文档,但是我仍然不清楚它是否适合我的目的。我想将一些分布式图形数据库用作其他外部应用程序可以使用的状态存储。是否有可能,需要付出什么努力,任何人都可以指出要实现该功能而需要扩展的类/代码。

1 个答案:

答案 0 :(得分:3)

您可以按照以下说明使用Processor API来实现自定义状态存储:
https://docs.confluent.io/current/streams/developer-guide/interactive-queries.html#querying-local-custom-state-stores

  • 您的自定义状态存储必须实现StateStore。
  • 您必须具有一个界面来表示商店中可用的操作。
  • 您必须提供StoreBuilder的实现才能创建商店实例。
  • 建议您提供一个接口,以限制对只读操作的访问。这样可以防止该API的用户带外更改正在运行的Kafka Streams应用程序的状态。

实施将如下所示:

233.232
232.183
233.634
231.342
235.684
231.883
233.931
233.755
232.119
231.543
236.423
233.517
234.653
234.444
231.298
235.755
230.223
233.782
233.511
233.987

为了使其可查询;

  • 提供QueryableStoreType的实现。
  • 提供一个包装类,该包装类可以访问商店的所有基础实例并用于查询。

示例:

public class P(GregorianCalendar date){