kafka相关问题

1、Kafka的了解
kafka是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要用于大数据实时处理
作用:异步处理、多系统解耦、削峰填谷(缓解服务器的压力)

2、MQ选择用的什么?
在这里插入图片描述

Active MQ:由于性能差,不推荐使用
Rabbit MQ:适用于小公司,数据量不是很大,有多语言支持
Rocket MQ:使用于阿里电商项目,阿里就用的这个,可看源码
kafka:适用于大数据,运维成本高

3、kafka作为消息队列是怎么保证数据质量的(不丢、不重复消费)
kafka生产者怎么保证数据可靠性,不丢失和重复
acks机制
1、acks=0,不等待,最低延迟,可能丢数据;
2、acks=1,producer只等待leader写完,返回ack,不等待follower,如果follower同步成功之前leader故障,可能丢数据;
3、acks=-1(all):等待leader、和ISR中所有的follower同步成功返回ack,但是如果在follower同步完成后,broker发送ack之前,leader发生故障,那么会造成数据重复

kafka消费者怎么保证数据一致性(消费存储一致性)
LOG文件ISR中的HW和LEO:
LEO:每个副本中最后一个offset
HW:所有副本中最小的LEO(消费则可见的最大值)
leader故障:会从ISR中选出一个新的leader,之后,为保证多个副本之间的数据一致性,其余的follower会将各自的log文件高于HW的部分截取,然后从新的leader同步数据
注意:这只能保证副本之间数据一致性,不能保证数据不丢失或者不重复

4、kafka为什么能高效读写数据:
1、顺序写入磁盘
2、零拷贝技术
3、分布式(有分区,并发读写)

5、zookeeper在kafka中的作用:
选举leader,选举controller,分区分配策略,帮忙管理元数据信息

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值