面试问题1

本文详细讲解了Kafka如何通过幂等性配置、手动提交offset和业务逻辑确保消费不重复,生产者端的ack设置和重试机制防止消息丢失,以及处理消费积压和提升消费能力的方法。此外,还阐述了Kafka快速原因及消费者分区策略的比较。
摘要由CSDN通过智能技术生成

面试问题

  1. kafka是怎么保证消费不重复的?
    1.设置幂等性配置, enable.idempotence=true
    2从消费端考虑消费不重复,需要手动提交offset,保证消费到了再提交。
    3.从消费端考虑,设置业务逻辑,先查询是否存在记录,不存在再进行插入。

  2. kafka是怎么保证,不丢失,
    1.生产者端考虑消费不丢失,主要设置ack=-1或all 保证消息能够提交到broker。
    2.生产者配置发送失败重试机制,retries配置重试次数
    3.消费者端考虑,不要先提交offset,再消费,会导致提交,如果消费过程中出现异常
    ,消费消息就丢失了。

  3. kafka消费数据积压,消费能力不足怎么办?
    1.消费能力不足可以考虑增加分区,同时增加消费者的数量提高消费能力。
    2.可以增加业务侧的消费能力,单线程改多线程,充分利用机器性能,优化处理逻辑,增加消费能力。

  4. kafka快的原因是什么?
    1.零拷贝技术
    2.顺序写磁盘
    3.分布式架构

  5. 消费者分区策略?
    1.range 根据topic进行分区消费,比如有三个分区,两个消费者
    topic01–>comsumer1,topic02–>comsumer2,topic3—>comsumer1
    优点是,不会产生消费错误的情况,默认是该种策略。
    2.RoundRobin
    按消费者组分配,例如,有一个消费者组,两个消费者,一个订阅了topicA,一个订阅了topicb和topicb,
    两个topic都有两个分区,则会
    topicA01–comsumer01
    topicA02–comsumer02
    topicB01–>comsumer01
    topicb02–>comsumer02
    可以看到不管你是否订阅了topicb,只要消费者中有订阅该topic,就会轮询去消费,因此,这种模式需要消费者组订阅同样的topic,否则会消费到未订阅topic。优点是消费者消费topic平均。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值