Содержит ли одни и те же разделы Kafka одной топики c на разных брокерах одинаковые сообщения (дублируют друг друга)? - PullRequest
0 голосов
/ 18 января 2020
Broker 1:

+-------------------+
|      Topic 1      |
|    Partition 0    |
|                   |
|                   |
|     Topic 2       |
|   Partition 1     |
+-------------------+
Broker 2:

+-------------------+
|      Topic 1      |
|    Partition 2    |
|                   |
|                   |
|     Topic 2       |
|   Partition 0     |
+-------------------+
Broker 3:

+-------------------+
|      Topic 1      |
|    Partition 1    |
|                   |
|      Topic 1      |
|    Partition 2    |
|                   |
+-------------------+

Так же, как и Broker 1 Topic 1 Partition 1 содержит то же, что и Broker 3 Topic 1 Partition 1


, но Broker 3 Topic 1 Partition 1 содержит то же, что и Broker 3 Topic 1 Partition 2

?

Ответы [ 2 ]

1 голос
/ 18 января 2020

Коэффициент репликации должен быть указан для создания topi c. Он определяет количество копий топи c в кластере Kafka.

У каждого раздела в топи c есть лидер, а если коэффициент репликации больше единицы, то у него есть реплики. Когда сообщение сначала отправляется в раздел, оно поступает в лидера (брокера, который является лидером раздела). Затем реплики отправляют запрос на выборку (периодически отправляют запросы на выборку) лидеру для репликации сообщений. Реплики с одинаковыми сообщениями с лидером называются in-syn c -replicas. Они также являются кандидатами на роль лидера раздела в случае сбоя лидера брокера. (переключение при сбое)

Если вы установите ack=all настройку производителя, тогда производитель получит подтверждение, когда все реплики in-syn c получили запись. А также, установив для min.insync.replicas больше единицы, вы можете гарантировать, что все подтвержденные записи имеют хотя бы одну реплику в кластере kafka.

Таким образом, если два брокера синхронизированы c - реплики для раздела topi c, тогда они имеют одинаковые сообщения, в противном случае они не.

0 голосов
/ 19 января 2020

Краткий ответ ДА. Один и тот же раздел одинаков для всех брокеров. Разные разделы содержат разные сообщения.

Однако Кафка - движущаяся система, поэтому не все все время выровнено. Это зависит от значения «ack» производителя, пропускной способности и разделения сети и многих других факторов.

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