2017-06-22 132 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. 每個節點都可以託管多個代理,但在生產環境中,爲每個節點運行一個代理是有意義的。儘管每個代理通常都有多個主題/分區。每個卡夫卡經紀人只有兩個分區是浪費資源。

我希望這有助於。