gpt4 book ai didi

java - Apache 卡夫卡流: How to switch from using In-memory Key Value Store to Persistent Key Value Store?

转载 作者:行者123 更新时间:2023-12-02 09:47:59 25 4
gpt4 key购买 nike

我当前的代码使用 InMemoryKeyValueStore,这避免了对磁盘的任何持久化。我想使用 Stores#persistentKeyValueStore。我当前的代码如下:

static StoreBuilder<KeyValueStore<String, LinkedList<StoreItem>>> makeStoreBuilder(
final String storeKey,
final Serde<LinkedList<StoreItem>> valueSerde,
final boolean loggingDisabled) {

final StoreBuilder<KeyValueStore<String, LinkedList<StoreItem>>> storeBuilder =
Stores.keyValueStoreBuilder(Stores.inMemoryKeyValueStore(storeKey), Serdes.String(), valueSerde);
return storeBuilder;
}

对于我来说,要使用 Stores#persistentKeyValueStore,我是否只需更改调用,如下所示:

final StoreBuilder<KeyValueStore<String, LinkedList<StoreItem>>> storeBuilder =
Stores.keyValueStoreBuilder(Stores.persistentKeyValueStore(storeKey), Serdes.String(), valueSerde);

我可以知道这是否是改变这一点的正确方法以及它是否会产生任何影响?我对 Kafka 和 Streams API 非常陌生,希望能获得一些见解。

谢谢。

最佳答案

是的,使用 Stores.persistentKeyValueStore(topicName) 会将状态持久保存到磁盘。请确保:

  • 您有足够的分配磁盘空间
  • 为数据设置适当的保留期限

我发现您已禁用日志记录,这是故意的吗?

关于java - Apache 卡夫卡流: How to switch from using In-memory Key Value Store to Persistent Key Value Store?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56519079/

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