簡體   English   中英

kafka 配置中的引導服務器是什么?

[英]what is bootstrap-server in kafka config?

我剛剛開始學習 kafka,並且不斷地遇到一個術語bootstrap-server

它在我的 kafka 集群中代表哪台服務器?

它是您提供的 Kafka 代理之一的 url,用於獲取有關 Kafka 集群的初始元數據。 元數據由主題、它們的分區、這些分區的領導代理等組成。根據這些元數據,您的生產者或消費者會生產或消費數據。

您可以在生產者或消費者配置中擁有多個引導服務器。 因此,如果其中一個代理不可訪問,則它會退回到另一個代理。

bootstrap.servers 是以逗號分隔的主機和端口對列表,它們是“引導”Kafka 集群中 Kafka 代理的地址,Kafka 客戶端最初連接到該集群以引導自身。

卡夫卡經紀人

一個 Kafka 集群由多個 Kafka Broker 組成。 每個 Kafka Broker 都有一個唯一的 ID(編號)。 Kafka Brokers 包含主題日志分區。 連接到一個代理會將客戶端引導到整個 Kafka 集群。 對於故障轉移,您希望從至少三到五個代理開始。 如果需要,一個 Kafka 集群可以在一個集群中擁有 10、100 或 1,000 個代理。

更多信息:檢查這個官方文檔

我們知道一個 kafka 集群可以有 100 到 1000 個代理(kafka 服務器)。 但是我們如何告訴客戶(生產者或消費者)連接到哪個? 我們是否應該在客戶端配置中指定所有 1000 個 kafka 代理? 不,那會很麻煩,而且清單會很長。 相反,我們可以做的是,使用兩到三個代理,並將它們視為客戶端最初連接的引導服務器。 然后根據存活或間隔,這些經紀人將指向一個好的 kafka 經紀人。

所以bootstrap.servers是我們放置在客戶端中的配置,它是以逗號分隔的主機和端口對列表,它們是“引導”Kafka 集群中 Kafka 代理的地址,Kafka 客戶端最初連接到該集群以引導自身。

主機和端口對使用:作為分隔符。

localhost:9092
localhost:9092,another.host:9092

如前所述, bootstrap.servers提供了初始主機,作為 Kafka 客戶端發現集群中所有活動服務器的起點。

特別說明:

  • 由於這些服務器僅用於初始連接以發現完整的集群成員(可能會動態更改),因此此列表不必包含完整的服務器集(但您可能需要多個服務器,以防萬一服務器下)。
  • 客戶端(生產者或消費者)使用所有服務器,無論在 bootstrap.servers 中為引導指定了哪些服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM