2017-06-22 134 views
0

我已经经历了几条在谷歌上的卡夫卡教程,如this one。 基于他们我在卡夫卡的背景下有一些问题: -每个节点模型的经纪人?

1.什么是经纪人?

每我的理解中,每个卡夫卡例如举办主题(零个或多个分区)是经纪人。每个节点

2.经纪人?

我相信,在实际情况下的聚类,最好每个节点都会有一个卡夫卡实例,其中每个实例都将举行两个分区

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

这是正确的吗?

回答

1

1)正确。经纪人是一个运行在错误的Java虚拟机

2)卡夫卡服务器软件的一个实例。节点与经纪人真的是一回事。如果您将三个Kafka代理作为单个群集运行(为了实现可扩展性和可靠性),则表示您拥有3个节点的Kafka群集。每个节点都是某些分区的领导者,而其他人则是备份(副本)。

不过,也有其他种类除了卡夫卡代理节点的节点。卡夫卡使用Zookeeper,所以你可能有三个或五个Zookeeper节点。一群动物园管理员通常被称为合奏团。

在较新版本的Kafka中,现在有不同类型的节点,所以说有3个代理节点,5个Zookeeper节点,2个Kafka Connect节点和10个节点(或实例)Kafka Streams应用程序也是正常的。

+0

我相信卡夫卡的后续版本。我们可以消除Zookeeper。我的意思是Kafka本身提供了集群,客户端代码可以连接到kafka集群而不需要Zookeeper。对 ? – user3198603

+0

新版本的卡夫卡消除了客户生产者和消费者对动物园管理员的依赖,但经纪人仍然需要动物园管理员。 –

+0

因此,经纪人在内部使用/设置zookeeper进行群集。在安装kafka时,我们不需要手动设置zookeeper?或者我们可以说zookeeper与kafka集成了吗? – user3198603

1
  1. 托管零个或多个主题卡夫卡的每个实例被称为经纪人。
  2. 每个节点都可以托管多个代理,但在生产环境中,为每个节点运行一个代理是有意义的。尽管每个代理通常都有多个主题/分区。每个卡夫卡经纪人只有两个分区是浪费资源。

我希望这有助于。