既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
嗯嗯好的。
主要有:生产者、消费者、Brocker、Topic、消息分区Partition。
面试官思考中…
面试官:那我们先讲讲生产者、消费者?
嗯嗯好的。
面试官思考中…
面试官:消息生产者的异步回调,知道吧
Ok知道的。主要是可以进行异常日志的记录。
是这样的,Kafka的异步提交消息相比同步提交,不需要在brocker响应前阻塞线程。
但是异步提交我们是不知道消费情况的,所以就可以在Kafka消费异常时,通过其回调来告知程序异常情况,从而进行日志记录。
面试官思考中…
面试官:消费者分区呢
嗯嗯。分区的作用主要就是为了提高Kafka处理消息吞吐量。
每一个topic会被分为多个分区。
假如同一个topic下有n个分区、n个消费者,每个分区会发送消息给对应的一个消费者,这样n个消费者就可以负载均衡地处理消息。
同时生产者会发送消息给不同分区,每个分区分给不同的brocker处理,让集群平坦压力,这样大大提高了Kafka的吞吐量。
面试官思考中…
面试官:你说说消费者手动提交和自动提交,有什么区别
其实就是两种不同的客户端提交方式。
- 自动提交的话,通过设置enable.auto.commit为true,每过5秒消费者客户端就会自动提交最大偏移量
- 手动提交的话,通过设置enable.auto.commit为false,让消费者客户端消费程序执行后提交当前的偏移量
面试官思考中…
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**