大数据面试题---kafka部分(一)
kafka 设计时是什么样子的
- kafka 将消息以topic为单位进行归纳
- 将向kafka发布消息的程序称为生产者
- kafka将订阅消息的程序称为消费者
- kafka将以集群的的方式运行,由一个或多个服务器组成,每一个服务器叫做broker
- 生产者通过网咯将消息发送到kafka集群,集群将向消费者提供消息
数据传输的事务定义有哪三种
- 最多一次:消息不会被重复发送,最多被传输一次,也有可能一次都不被传输
- 最少一次:消息不会被漏发送,最少被传输一次,但也有可能被重复传输
- 精确的一次:不会漏传输也不会重复传输每个消息都传输一次且仅仅被传输一次
kafka判断一个节点是否还活着有哪些条件
- 节点必须可以维护和ZooKeeper连接,ZooKeeper通过心跳机制检查每个节点的连接
- 如果节点是个follwer(跟随者)的状态他必须能及时的同步leader(领导者) 的写操作延时不能太久
producer(生产者) 是否直接将数据发送到broker(经纪人)的leader(主节点)
producer(生产者) 直接将数据发送到broker(经纪人)的leader(主节点),不需要在多个节点进行分发,为了帮助producer(生产者)做到这点 ,所有的kafka节点都可以及时的告知哪些节点是活动的目标topic 目标分区的leader(主节点)在哪,这样producer(生产者)就可以直接将消息发送到目的地了
kafka consumer(消费者)是否可以消费指定分区的消息
kafka consume