kafka面试题整理
消息队列的性能好坏,其文件存储机制设计是衡量一个消息队列服务技术水平和最关键指标之一。下面将从Kafka文件存储机制和物理结构角度,分析Kafka是如何实现高效文件存储,及实际应用效果。 1.1 Kafka的特性: - 高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。 - 可扩展性:kafka集群支持热扩展 - 持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失 - 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败) - 高并发:支持数千个客户端同时读写 1)每个service里面的kafka consumer数量都小于对应的topic的partition数量,但是所有服务的consumer数量之和等于partition的数量,这是因为分布式service服务的所有consumer都来自一个consumer group; 2) 如果来自不同的consumer group就会处理重复的message了。同一个consumer group下的consumer不能处理同一个partition,不同的consumer group可以处理同一个topic,那么都是顺序处理message,一定会处理重复的。