apache-kafka - 使用 kafka 流状态存储来保存超过 5 亿条消息
问题描述
我正在尝试评估 kafka 流是否带有 RocksDB 状态存储,并在变更日志(状态主题)中有 5 亿条消息用于生产。
用例我有大约 8 个不同主题的数据,它们属于不同的团队,从这些主题中我关心某些数据点,所以我使用 Rocksdb 来保存对象的状态,我向其中添加了所需的数据来自不同的话题。
是否以这种方式使用带有状态存储的 kafka 流?
解决方案
您始终可以使用状态存储来存储数百万个密钥。正如@cricket007 所提到的,它需要磁盘存储来存储所有条目。随着状态被刷新到文件系统。通常数百万个键会导致存储或内存问题。只要您有可用的存储空间,它就可以工作。此外,您需要确保状态不在内存中。
根据个人经验,我在几个状态存储中拥有大约 1 亿个密钥,我首先遇到了磁盘空间问题,但添加更多磁盘后,它工作正常。
此外,您可以阅读有关容量规划的更多信息以获得一些公平的想法: https ://docs.confluent.io/current/streams/sizing.html
推荐阅读
- python - 如何使用 SQLAlchemy (1.3.18) 和 Python (3.8.3) 连接我的 Sybase 数据库?
- python - 当用户在python中更改个人资料图像时,如何从文件夹中删除以前上传的图像?
- angular - 在 Angular 中验证 startDate endDate
- r - 按年份在 R 中绘制时间序列数据
- android - 如何使用 kotlin 从 firestore 读取数组数据?
- django - Django按多个字段排序
- reactjs - 为什么在使用带有道具的 TexInput 组件时我不能连续输入文本
- r-exams - 考试 R 包中的真假问题
- c# - 评估 ac# 字符串是单个 Emoji 还是 Emoji ZWJ 序列?
- r - 如何删除数据框中具有重复值的列?