Kafka Inter Broker Communication - PullRequest
       2

Kafka Inter Broker Communication

0 голосов
/ 04 октября 2018

Я понимаю, что производитель / потребители должны поговорить с брокерами, чтобы узнать лидера для раздела.Брокеры говорят с zk, чтобы сказать, что они присоединились к кластеру.

Правда ли, что

  1. Брокеры знают, кто является лидером для данного раздела, из zk
  2. zk обнаруживает, что брокер ушел / умер.Затем он переизбирает лидера и отправляет информацию о новом лидере всем брокерам

Вопрос:

  1. почему нам нужны брокеры, чтобы общаться друг с другом?Просто так они могут перемещать разделы или они также запрашивают метаданные друг у друга.Если да, то что было бы примером обмена метаданными

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Производители / потребители запрашивают метаданные у одного из брокеров (поскольку каждый из них кеширует их), и именно так они узнают, кто является лидером для раздела.

Относительно раздела "правда ли, что":

  1. Брокеры знают, кто является лидером для данного раздела благодаря zk и одному из них.Чтобы быть более точным, один из них решает, кто будет лидером.Этот брокер называется контроллером.Первый брокер, который подключается к zookeeper, становится контроллером, и его роль заключается в том, чтобы решить, какой брокер будет лидером, а какие - репликами, и сообщить им об этом.Сам контроллер не исключен из этого процесса.Это такой же брокер, как и любой другой, с особыми обязанностями выбора лидеров и реплик
  2. zk действительно определяет, когда брокер умирает / уходит, но он не переизбирает лидера.Это ответственность контролера.Когда один из брокеров покидает кластер, контроллер получает информацию от zk и начинает переназначение

По вашему вопросу - брокеры общаются друг с другом (реплики читают сообщения от лидеров, контроллер сообщает другимброкеры об изменениях), но они не обмениваются метаданными между собой - они пишут метаданные зоокейкеру

0 голосов
/ 04 октября 2018

Брокер - это сервер Kafka, работающий в кластере Kafka

"Кластер Kafka состоит из нескольких брокеров Kafka. Каждый брокер Kafka имеет уникальный идентификатор (номер).Брокеры Kafka содержат разделы журнала тем. Подключение одного брокера запускает клиента ко всему кластеру Kafka "

Каждый брокер содержит несколько разделов, и каждый из этих разделов может быть либо лидером, либо репликой для темы.Все записи и чтения в теме проходят через лидера, и лидер координирует обновление реплик новыми данными.Если лидер терпит неудачу, реплика становится новым лидером.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...