Содержит ли ответ метаданных kafka уже всех брокеров в кластере?

#apache-kafka #metadata

#apache-kafka #метаданные

Вопрос:

Ответ метаданных Kafka содержит метаданные брокеров и метаданные тем, всегда ли метаданные брокеров содержат всех брокеров в текущем кластере? Или содержит только брокеров, связанных с темами в запросе метаданных?

Я отправляю запрос метаданных v0 с одной темой, В ответе метаданных гораздо больше посредников, чем лидеров разделов тем, узлов isr и т. Д…

Если есть соответствующие документы, пожалуйста, дайте мне знать.

Ответ №1:

Я думаю, что руководство по протоколу Kafka объясняет это четко (ссылка):

Как клиент может узнать, какие темы существуют, какие разделы у них есть, и какие брокеры в настоящее время размещают эти разделы, чтобы он мог направлять свои запросы на нужные хосты? Эта информация является динамической, поэтому вы не можете просто настроить каждого клиента с помощью некоторого файла статического сопоставления. Вместо этого все брокеры Kafka могут отвечать на запрос метаданных, который описывает текущее состояние кластера: какие есть разделы, какие разделы есть в этих разделах, какой брокер является лидером для этих разделов, а также информацию о хосте и порте для этих брокеров.

Другими словами, клиенту нужно каким-то образом найти одного брокера, и этот брокер сообщит клиенту обо всех других существующих брокерах и о том, какие разделы они размещают. Этот первый брокер может сам выйти из строя, поэтому наилучшей практикой для реализации клиента является получение списка из двух или трех URL-адресов для начальной загрузки. Затем пользователь может выбрать использование балансировщика нагрузки или просто статически настроить два или три своих хоста Kafka в клиентах.