我在 google 上经历了几个 Kafka 教程,如这个。基于他们,我在卡夫卡的背景下得到了一些问题: -
1.什么是经纪人?
根据我的理解,托管 topic(zero 或更多分区的每个 Kafka 实例都是代理。
2.经纪人每个节点?
我相信在集群下的实际场景中,理想情况下每个节点将有一个 kafka 实例,其中每个实例将包含两个分区
a. One partition(working as leader)
b. Another partition working as follower for partition on another anode.
它是否正确 ?
2 回答
正确。代理是在 Java 虚拟机中运行的 Kafka 服务器软件的实例
不正确。节点与代理实际上是一样的。如果你有三个 Kafka 代理作为一个集群运行(为了可扩展性和可靠性),那就说你有一个 3 节点 Kafka 集群。每个节点都是某些分区的领导者,而其他节点则是备份(副本)。
但是,除了 Kafka 代理节点之外,还有其他类型的节点。 Kafka 使用 Zookeeper,因此您可能还有 3 个或 5 个 Zookeeper 节点。一群动物园管理员通常被称为合奏团。
在 Kafka 的更高版本中,现在有不同类型的节点,因此通常会说有 3 个代理节点,5 个 Zookeeper 节点,2 个 Kafka Connect 节点和 10 个节点(或实例)Kafka Streams 应用程序。
托管零个或多个主题的每个 Kafka 实例称为代理。
每个节点都可以托管多个代理,但在生产环境中,每个节点运行一个代理是有意义的。每个代理通常承载多个 topics/partitions。每个 Kafka 经纪商只有两个分区是浪费资源。
我希望这有帮助。