使用kafka流状态存储来保存5亿条消息

时间:2018-12-28 21:12:15

标签: apache-kafka apache-kafka-streams

我正在尝试评估kafka流是否具有rocksdb状态存储,并用于变更日志中5亿条消息的生产中(状态主题)。

用例 我有大约8个不同主题的数据,这些数据由不同的团队拥有,而这些主题我关心的是某些数据点,因此我正在使用rockdb保持对象的状态,并向其中添加了来自不同主题的所需数据话题。

是否以这种方式使用了带有状态存储的kafka流?

1 个答案:

答案 0 :(得分:0)

您始终可以使用状态存储来存储数百万个密钥。它要求磁盘存储将所有条目存储为@ cricket007(也已提到)。状态被刷新到文件系统。 通常,数百万个键会导致存储或内存问题。只要有可用的存储空间,它就会起作用。此外,您需要确保状态不在内存中。

根据我的个人经验,我在几个状态存储区中有大约1亿个密钥,我首先遇到磁盘空间问题,但是在添加更多磁盘之后,它仍然可以正常工作。

此外,您可以阅读有关容量规划的更多信息,以获得一些合理的想法: https://docs.confluent.io/current/streams/sizing.html