如何解决使用Kafka处理大量数据
我有三个节点的kafka群集。我向具有1个分区和复制因子3的kafka主题生成了消息。如果我的使用者的工作比生产者慢得多,会发生什么情况?默认情况下,保留策略和其他主题属性
例如:
生产者每小时写入10 GB
消费者每小时读取5 GB
保留= 5 GB和5个小时
可用空间-30 GB
一天的连续工作后会发生什么?
我应该检查哪些参数以确保零数据丢失?
谢谢!
解决方法
为防止数据丢失,您必须确保使用者能够使用至少与生产者一样快的数据,否则将丢失数据。 Kafka不在乎数据是否已被使用,它会根据保留配置清除数据。
如果您使用3的复制因子,则意味着您写入的每个GB等于3GB,因为它将被复制另外2次,因此请进行相应的计算并将其乘以保留时间:
所需的总存储量-GB /小时*保留*复制因子。 因此10GB /小时*保留3小时*重复3次。因子= 90GB(所有节点加在一起!)
通常一个分区是不够的,更多的分区将为您提供更大的带宽以消耗数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。