2017-03-31 76 views
4

卡夫卡高級製片人選舉領導人的時間和頻率如何? 在發送每封郵件之前或在創建連接時只做一次?卡夫卡領導人選舉何時發生?

+0

生產者不選任何一個領導者 - 沒有他們的領導者的概念。你能詳細說明你的意思嗎?儘管經紀人和消費者確實有領導者的概念。 –

+0

生產者必須發佈給羣集中的經紀人。那麼,製作者如何決定將數據推送到哪個kafka實例呢? –

+2

這取決於你寫什麼主題和分區的日期。每個主題分區都有一個經紀人,而且這個經紀人是它的領導者 - 寫作只發生在領導者身上。因此,如果所有寫入的分區託管在不同的代理上,生產者可能會寫入羣集中的所有代理。 –

回答

2

每個經紀人有一個關注的話題(和分區)和他們的領導人將由動物園飼養員被不斷更新的列表信息每當新領導人當選或當分區的數量變化。

因此,生成使得對經紀人的一個電話時,其與該信息列表響應。一旦生產者收到這些信息,它會緩存這個信息並用它連接到領導者。所以下一次當它想要將消息發送到特定的主題(和分區)時,它將使用這個緩存的信息。

讓我們假設世界上只有一個領袖,沒有複製品該主題/分區二人,它被壓碎。在這種情況下,它會嘗試連接到該領導者,並失敗。它會嘗試從其它經紀人列表中獲取領導者,以檢查是否有任何領導者參與此主題!因爲它沒有找到任何東西,它會嘗試擊中相同的領導者(即已死亡),並在達到最大重試次數後會拋出異常!