#apache-kafka #metadata
#apache-kafka #метаданные
Вопрос:
Ответ метаданных Kafka содержит метаданные брокеров и метаданные тем, всегда ли метаданные брокеров содержат всех брокеров в текущем кластере? Или содержит только брокеров, связанных с темами в запросе метаданных?
Я отправляю запрос метаданных v0 с одной темой, В ответе метаданных гораздо больше посредников, чем лидеров разделов тем, узлов isr и т. Д…
Если есть соответствующие документы, пожалуйста, дайте мне знать.
Ответ №1:
Я думаю, что руководство по протоколу Kafka объясняет это четко (ссылка):
Как клиент может узнать, какие темы существуют, какие разделы у них есть, и какие брокеры в настоящее время размещают эти разделы, чтобы он мог направлять свои запросы на нужные хосты? Эта информация является динамической, поэтому вы не можете просто настроить каждого клиента с помощью некоторого файла статического сопоставления. Вместо этого все брокеры Kafka могут отвечать на запрос метаданных, который описывает текущее состояние кластера: какие есть разделы, какие разделы есть в этих разделах, какой брокер является лидером для этих разделов, а также информацию о хосте и порте для этих брокеров.
Другими словами, клиенту нужно каким-то образом найти одного брокера, и этот брокер сообщит клиенту обо всех других существующих брокерах и о том, какие разделы они размещают. Этот первый брокер может сам выйти из строя, поэтому наилучшей практикой для реализации клиента является получение списка из двух или трех URL-адресов для начальной загрузки. Затем пользователь может выбрать использование балансировщика нагрузки или просто статически настроить два или три своих хоста Kafka в клиентах.