【发布时间】:2019-07-16 10:56:31
【问题描述】:
我们正面临一个问题,我们正在使用 kafka 持久状态存储,并且它经常用完空间 (8gb),因此我们正在考虑迁移到内存状态存储
Stores.persistenKeyValueStore("name");
到
Stores.inMemoryKeyValueStore("name");
如果我们在内存中更改,就没什么问题了
- 如果代理/消费者重启,我们是否会丢失任何数据?
- 如果内存中的旧数据被刷新,消费者如何获取之前的数据,它是否从代理获取该数据?
- 如果它可以从代理获取数据,它不会影响性能,因为它是网络调用,而不是在持久状态存储的情况下在本地获取数据。
切换到内存还有其他缺点吗?
请注意,我们有流式应用程序 (KTable) 并且有大约 200 万条独特的消息。
每个消息的大小约为 2kb 频率 500msg/sec 平均
【问题讨论】:
标签: apache-kafka apache-kafka-streams