面试题 01 什么是消息队列?
消息队列就是用于当两个系统之间或者两个模块之间实现消息传递时,基于队列机制实现数据缓存的中间件
面试题 02 消息队列有什么好处?
•实现解耦,将高耦合转换为低耦合
•通过异步并发,提高性能,并实现最终一致性
面试题03、Kafka是什么?
•Kafka是一个基于订阅发布模式的高性能、高吞吐的实时消息队列系统
面试题04、Kafka在大数据中用于什么场景下?
•用于实时架构中,实现将实时数据采集的数据进行实时存储,供于SparkStreaming或者Flink等工具实现实时数据消费处理
面试题05、请简述Kafka的集群架构
•Kafka是一个分布式主从架构集群
–主节点:Kafka Controller:一种特殊的Broker,由ZK辅助实现从所有Broker中选举,负责集群管理,管理Topic及分区副本等
–从节点:Kafka Broker:负责实现Kafka集群的数据存储
•Kafka依赖于Zookeeper实现集群辅助管理
–基于Zookeeper辅助选举Controller
–基于Zookeeper存储元数据
面试题 06 Kafka中消费者与消费者组的关系是什么?
•消费者组负责订阅Topic,消费者负责消费Topic分区的数据
•消费者组中可以包含多个消费者,多个消费者共同消费数据,增加消费并行度,提高消费性能
•消费者组的id由开发者指定,消费者的id由Kafka自动分配
面试题07、Kafka中Topic和Partition是什么,如何保证Partition数据安全?
•Topic