前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java高频面试题- 每日三连问?【Day34】 — Kafka篇(二)

Java高频面试题- 每日三连问?【Day34】 — Kafka篇(二)

作者头像
浩说编程
发布2022-04-12 14:22:49
2260
发布2022-04-12 14:22:49
举报
文章被收录于专栏:Java经验之谈Java经验之谈

问题导读

一、Kafka 的多副本机制了解吗?

二、Kafka 的多分区(Partition)以及多副本(Replica)机制有什么好处呢?

三、Zookeeper 在 Kafka 中的作用知道吗?

01

Kafka 的多副本机制了解吗?

正经回答:

Kafka 为分区(Partition)引入了多副本(Replica)机制。

分区(Partition)中的多个副本之间会有一个叫做 leader 的家伙,其他副本称为 follower。

我们发送的消息会被发送到leader 副本,然后 follower 副本才能从 leader 副本中拉取消息进行同步。

生产者和消费者只与 leader 副本交互。

你可以理解为其他副本只是 leader 副本的拷贝,它们的存在只是为了保证消息存储的安全性。

当 leader 副本发生故障时会从 follower 中选举出一个 leader,但是 follower 中如果有和 leader 同步程度达不到要求的参加不了 leader 的竞选。

分享朋友圈,记录学习每一天~

02

Kafka 的多分区(Partition)

以及多副本(Replica)机制有什么好处呢?

正经回答:

 Kafka 通过给特定 Topic 指定多个 Partition, 而各个 Partition 可以分布在不同的 Broker上, 这样便能提供比较好的并发能力(负载均衡)。

 Partition 可以指定对应的 Replica 数, 这也极大地提高了消息存储的安全性, 提高了容灾能力,不过也相应的增加了所需要的存储空间。

03

Zookeeper 在 Kafka 中的作用知道吗?

正经回答:

 Broker 注册 :

在 Zookeeper 上会有一个专门用来进行 Broker 服务器列表记录的节点。

每个 Broker 在启动时,都会到 Zookeeper 上进行注册,即到 /brokers/ids 下创建属于自己的节点。

每个 Broker 就会将自己的 IP 地址和端口等信息记录到该节点中去。

 Topic 注册 :

在 Kafka 中,同一个 Topic 的消息会被分成多个分区并将其分布在多个Broker 上,这些分区信息及与 Broker 的对应关系也都是由 Zookeeper 在维护。

比如我创建了一个名字为 my-topic 的主题并且它有两个分区,对应到 zookeeper 中会创建这些文件夹:

/brokers/topics/my-topic/Partitions/0、

/brokers/topics/my-topic/Partitions/1

 负载均衡 :

上面也说过了 Kafka 通过给特定 Topic 指定多个 Partition, 而各个 Partition可以分布在不同的 Broker 上, 这样便能提供比较好的并发能力。

对于同一个 Topic 的不同 Partition,Kafka 会尽力将这些 Partition 分布到不同的 Broker 服务器上。

当生产者产生消息后也会尽量投递到不同 Broker 的 Partition 里面。

当 Consumer 消费的时候,Zookeeper 可以根据当前的 Partition 数量以及 Consumer 数量来实现动态负载均衡。

- End -

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浩说编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正经回答:
  • 正经回答:
  • 正经回答:
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档