经纪人每节点模型?

时间:2017-06-22 03:42:12

标签: java apache-kafka

我在谷歌上浏览了几个Kafka教程,如this one。 基于他们,我在卡夫卡的背景下得到了一些问题: -

1。什么是经纪人?

根据我的理解,每个Kafka实例托管主题(零个或多个分区)都是代理。

2。每个节点的经纪人?

我相信在集群下的实际场景中,理想情况下每个节点都有一个kafka实例,其中每个实例将包含两个分区

a. One partition(working as leader)  
b. Another partition working as follower for partition on another anode.

这是对的吗?

2 个答案:

答案 0 :(得分:2)

1)正确。代理是在Java虚拟机中运行的Kafka服务器软件的实例

2)不正确。节点与代理实际上是一样的。如果你有三个Kafka代理作为一个集群运行(为了可扩展性和可靠性),那就说你有一个3节点Kafka集群。每个节点都是某些分区的领导者和其他分区的备份(副本)。

但是,除了Kafka代理节点之外,还有其他类型的节点。 Kafka使用Zookeeper,因此您可能还有3个或5个Zookeeper节点。一群动物园管理员通常被称为合奏团。

在Kafka的更高版本中,现在有不同类型的节点,因此通常会说有3个代理节点,5个Zookeeper节点,2个Kafka Connect节点和10个节点(或实例)Kafka Streams应用程序。

答案 1 :(得分:1)

  1. 托管零个或多个主题的每个Kafka实例称为代理。
  2. 每个节点都可以托管多个代理,但在生产环境中,每个节点运行一个代理是有意义的。每个代理通常托管多个主题/分区。每个Kafka经纪商只有两个分区是浪费资源。
  3. 我希望这会有所帮助。