2016-03-01 49 views
1

Kafka生產者需要一個kafka經紀人的引導列表才能工作。 根據this explanation,它需要能夠連接到其中一個代理,然後獲取有關集羣中所有實時代理的元數據。爲什麼Kafka Producer無法連接到zookeeper獲取經紀人元數據而不是連接到經紀人

現在,所有經紀人都已經在Zookeeper中註冊,並且Kafka消費者連接到ZK,該ZK處理哪個經紀人,哪個分區是要讀取的數據。當ZK已經擁有所有信息時,爲什麼生產商不能連接到ZK?

我看到這裏有幾個SO問題,但他們似乎解釋了爲什麼消費者需要ZK &而不是爲什麼生產者需要經紀人而不是ZK的引導列表?

回答

2

過去生產者和消費者都曾經連接到Zookeeper進行協調,但現在已經逐漸遠離。通過Kafka 0.9中的新消費者API,客戶不再需要了解Zookeeper,這似乎是卡夫卡客戶的未來。除了消除依賴關係和片狀連接庫到ZK之外,它還使得客戶端協議的演化更加容易,因爲這現在完全由Kafka管理。

目前,兩個消費者客戶端均可在Kafka 0.9中使用,但您應該準備好使用ZK連接的客戶端客戶端可能會在將來的版本中的某個時間點被棄用。

+0

我正在使用8.2.1版本的客戶端。我的製作人需要經紀人的引導列表,我的消費者需要動物園管理員連接。想知道爲什麼它保持這樣的狀態 – nikel

+0

你可以在http://kafka.apache.org/07/quickstart.html的文檔頁面看到它的演變,其中生產者和消費者的例子都使用ZK到最後本節中的行http://kafka.apache.org/documentation.html#security_ssl顯示生產者和消費者直接在最新版本中連接到經紀商。 – Lundahl

相關問題