什么是 Apache Kafka?
答:Apache Kafka 是一个发布-订阅开源消息代理应用程序。这个消息传递应用程序是用“scala”编
码的。基本上,这个项目是由 Apache 软件启动的。Kafka 的设计模式主要基于事务日志设计。
Kafka 中有哪几个组件?
答:Kafka 最重要的元素是:
主题:Kafka 主题是一堆或一组消息。生产者:在 Kafka,生产者发布通信以及向 Kafka 主题发布
消息。消费者:Kafka 消费者订阅了一个主题,并且还从主题中读取和处理消息。经纪人:在管理
主题中的消息存储时,我们使用 Kafka Brokers。
解释偏移的作用。
答:给分区中的消息提供了一个顺序 ID 号,我们称之为偏移量。因此,为了唯一地识别分区中的
每条消息,我们使用这些偏移量。
什么是消费者组?
答:消费者组的概念是 Apache Kafka 独有的。基本上,每个 Kafka 消费群体都由一个或多个共同消
费一组订阅主题的消费者组成。
ZooKeeper 在 Kafka 中的作用是什么?
答:Apache Kafka 是一个使用 Zookeeper 构建的分布式系统。虽然,Zookeeper 的主要作用是在集群中
的不同节点之间建立协调。但是,如果任何节点失败,我们还使用 Zookeeper 从先前提交的偏移量
中恢复,因为它做周期性提交偏移量工作。
没有 ZooKeeper 可以使用 Kafka 吗?
答:绕过 Zookeeper 并直接连接到 Kafka 服务器是不可能的,所以答案是否定的。如果以某种方式,
使 ZooKeeper 关闭,则无法为任何客户端请求提供服务。
为什么 Kafka 技术很重要?
答:Kafka 有一些优点,因此使用起来很重要:
高吞吐量:我们在 Kafka 中不需要任何大型硬件,因为它能够处理高速和大容量数据。此外,它还
可以支持每秒数千条消息的消息吞吐量。低延迟:Kafka 可以轻松处理这些消息,具有毫秒级的极
低延迟,这是大多数新用例所要求的。容错:Kafka 能够抵抗集群中的节点/机器故障。耐久性;由
于 Kafka 支持消息复制,因此消息永远不会丢失。这是耐久性背后的原因之一。可扩展性:卡夫卡
可以扩展,而不需要通过添加额外的节点而在运行中造成任何停机。
Kafka 的主要 API 有哪些?
答:Apache Kafka 有 4 个主要 API:
生产者 API 消费者 API 流 API 连接器 API