producer端: 宏观上看保证数据的可靠安全性,肯定是依据分区数做好数据备份,设立副本数。 broker端: topic设置多分区,分区自适应所在机器,为了让各分区均匀分布在所在的broker中,分区数要大于broker数。 分区是kafka进行并行读写的单位,是提升kafka速度的关键。 Consumer端 consumer端丢失消息的情形比较简单:如果在消息处理完成前就提交了offset,那么就有可能造成数据的丢失。由于Kafka consumer默认是自动提交位移的,所以在后台提交位移前一定要保证消息被正常处理了,因此不建议采用很重的处理逻辑,如果处理耗时很长,则建议把逻辑放到另一个线程中去做。为了避免数据丢失,现给出两点建议: enable.auto.commit=false 关闭自动提交位移 在消息被完整处理之后再手动提交位移
上一题:什么是kafka?
标签: 位移、分区、broker、kafka、consumer
笔试题
刷题
简历模板
AI算法
大数据
内推
内推: