ограничить кафку, раздел темы распространять только на части брокеров - PullRequest
1 голос
/ 07 мая 2019

Для мультитенантного кластера kafka я хотел бы контролировать распределение разделов по темам на указанных брокерах kakfa.Например, тема A может быть на брокере-1, брокере-2;и тема-B может быть на брокере-3, брокере-4.

Есть ли у Кафки такой механизм?Например, можем ли мы установить тег для посредника и темы, на посредника можно поставить только тему с таким же тегом.

1 Ответ

2 голосов
/ 07 мая 2019

Да, это часть того, как вы настраиваете свои темы. Из документов :

Распределение Разделы журнала распределяются по серверы в кластере Kafka с каждым сервером обработки данных и запросы на долю разделов. Каждый раздел реплицируется через настраиваемое количество серверов для отказоустойчивости.

Каждый раздел имеет один сервер, который выступает в качестве «лидера», и ноль или больше серверов, которые действуют как «последователи». Лидер обрабатывает все прочитанное и пишите запросы на раздел, пока подписчики пассивно повторить лидера. Если лидер терпит неудачу, один из последователей будет автоматически становиться новым лидером. Каждый сервер выступает в качестве лидера некоторые из его разделов и подписчик для других, так что нагрузка хорошо сбалансировано внутри кластера.

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

#non manual assignment example
bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic topic1 --replication-factor 2 --partitions 123

Из инструментов репликации :

# Create topic with manual replica assignment
bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic topic1 --replica-assignment 0:1:2,0:1:2,0:1:2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...