1.内部topic
答案:__consumer_offsets:作用是保存 Kafka 消费者的位移信息,logCleaner线程来完成清除无用的提交(没有消息消费了,默认5s一直在提交);
__transaction_state:用来存储事务日志消息
2.优先副本选举
答案:解决当某个主机down机后,部分主机会有多个leader 副本,导致负载不均衡,优先副本选举就是解决此问题,生产上不建议开启,可以手动控制。
3.副本怎么同步?
答案:所谓同步,必须满足两个条件:
副本节点必须能与zookeeper保持会话(心跳机制)
副本能复制leader上的所有写操作,并且不能落后太多(卡主或滞后的副本控制由replica.lag.time.max.ms配置)
利用HW,LEO进行复制同步。
4.如果我指定了一个offset,Kafka怎么查找到对应的消息?
答案:
1)跳跃表找到分段文件
2)利用稀疏索引(.index),通过二分法定位到相邻的offset
3)接着在segment顺序查找
5.延迟队列,重试队列,死信队列
答案:延迟队列:用户登录过时,订单30分钟自动取消
重试队列:可以利用延迟队列实现,即该消息处理失败后,多久时间重试
死信队列:消息处理失败的队列
更多关于“大数据培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。