Kafka精选面试题

1. 如何保证幂等性?

幂等性其实是消息的一致性, 生产和消费都只有一次, 所以分为生产者幂等性和消费者幂等性.

实际开发过程中, 一般只会保证消费幂等性, 所以面试时直接回答消费幂等就行
做法就是做唯一id, 在消费端做个判断,如果唯一id已存在则不做消费处理, 这个唯一id一般会借用数据库的唯一性

2. kafka为什么这么快?

一、磁盘顺序读写
二、Page Cache

Kafka利用了操作系统本身的Page Cache,就是利用操作系统自身的内存而不是JVM空间内存
三、零拷贝
四、分区分段+索引

Kafka的message是按topic分类存储的,topic中的数据又是按照一个一个的partition即分区存储到不同broker节点。每个partition对应了操作系统上的一个文件夹,partition实际上又是按照segment分段存储的。这也非常符合分布式系统分区分桶的设计思想。
五、批量读写
六、批量压缩

相关推荐
Absinthe_苦艾酒15 分钟前
SpringCloud之Eureka基础认识-服务注册中心
分布式·微服务·eureka
giser@20111 小时前
ZooKeeper工作机制与应用场景
分布式·zookeeper·云原生
玄武后端技术栈2 小时前
RabbitMQ消息的重复消费问题如何解决?
分布式·rabbitmq
小杜-coding4 小时前
黑马点评day04(分布式锁-setnx)
java·spring boot·redis·分布式·spring·java-ee·mybatis
小猪写代码6 小时前
分布式处理架构
分布式·架构
flying_13149 小时前
面试常问系列(一)-神经网络参数初始化-之-softmax
深度学习·神经网络·算法·机器学习·面试
吴爃9 小时前
了解Hadoop
大数据·hadoop·分布式
rit843249910 小时前
Java中的分布式缓存与Memcached集成实战
java·分布式·缓存
蒟蒻小袁10 小时前
力扣面试150题-- 翻转二叉树
算法·leetcode·面试
lix的小鱼12 小时前
Spark集群搭建之Yarn模式
大数据·分布式·spark