2016-12-26 10 views
4

вопрос меня беспокоил долгое время. Я знаю, что выборы лидера существуют в зоопарке. Предположим, что у нас есть кластер Kafka, связанный с ансамблем Zookeeper.выборы лидера в зоопарке и Кафке

Итак, я понимаю, что в ансамбле есть лидер zookeeper, и в кластере Kafka есть и некоторые «лидеры разделов». И лидер раздела Kafka выбирается через Zookeeper API. Это правильно ?

Другой вопрос: Является ли мастер/раб в основном таким же, как лидер/последователь?

ответ

2

Выбор лидера раздела в Кафке не осуществляется через API-интерфейс zookeeper, на самом деле первая реплика в живом назначении реплик будет выбрана лидером для каждого раздела.

Что касается основных/ведомых вещей, как я знаю, многие открытые источники уже заменили старую терминологию «ведущий/ведомый» лидером/репликой или первичным/репликой, поэтому в основном они одинаковы.

+0

спасибо. Можете ли вы предоставить ссылки о том, что «первая реплика в живом назначении реплик будет выбрана лидером для каждого раздела». Я хочу узнать больше. – nathan

1
  1. Избрание лидерам Zookeeper не имеет ничего общего с выборами лидеров перегородки Кафки, наоборот.
  2. Лидер перегородки Kafka, выбранный Контроллером, Контролер - это Брокер, который регистрирует первым в пути Zookeeper/Контроллер/2,2 - broker.id. Когда брокер рухнет, раздел лидера (или реплика руководителя) в этом брокере будет переключен контроллером, и контроллер выберет одну реплику в ISR, которая будет лидером раздела. Если этот раздел отключен (вся реплика недоступна), этот раздел не может использоваться для записи или чтения. Если вы установили unclean.leader.election.enable=true, тогда первая доступная реплика будет выбрана лидером раздела, независимо от того, находится ли она в ISR или нет. Так что некоторые сообщения могут быть потеряны.
  3. Ведущий/ведомый можно рассматривать как то же, что и лидер/последователь.