分布式面试之Kafka面试题

本文详细探讨了Kafka的设计,包括其分布式特性、节点存活判断、消息传输事务。此外,还讨论了producer直接发送数据到leader、consumer的分区消费能力、消息存储格式以及Kafka的高效文件存储设计。同时,文章覆盖了Kafka与传统消息系统的区别、分区放置策略、数据保存方式、ack机制、消费者如何消费数据及负载均衡策略,以及数据的有序性和生产时的分组策略。
摘要由CSDN通过智能技术生成

1、Kafka的设计是什么样的?

Kafka将消息以topic为单位进行归纳将向Kafka topic发布消息的程序成为producers,将预订topics并消费消息的程序成为consumer。

Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一 个broker。

producers通过网络将消息发送到Kafka集群,集群向消费者提 供消息

2、数据传输的事物定义有哪三种?

数据传输的事务定义通常有以下三种级别:

  1. 最多一次:消息不会被重复发送,最多被传输一次,但也有可能一次不 传输

  2. 最少一次:消息不会被漏发送,最少被传输一次,但也有可能被重复传 输.

  3. 精确的一次(Exactly once):不会漏传输也不会重复传输,每个消息都传输 被一次而且仅仅被传输一次,这是大家所期望的

3、Kafka判断一个节点是否还活着有那两个条件?
  1. 节点必须可以维护和ZooKeeper的连接,Zookeeper通过心跳机制检查每个节点的连接

  2. 如果节点是个follower,他必须能及时的同步leader的写操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南方淮竹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值