Репликация темы в Apache Pulsar - PullRequest
0 голосов
/ 13 марта 2019

Документация по репликации в Pulsar не очень наглядна.Мне интересно, как репликация работает подробно и как политики постоянства для пространства имен играют на этом.В документации говорится об этих параметрах

  • bookkeeper-ack-quorom: количество подтверждений (гарантированных копий) для ожидания каждой записи
  • bookkeeper-ensemble: количество буклетов, используемых дляtopic
  • bookkeeper-write-quorum: сколько записей нужно сделать для каждой записи

Означает ли bookkeeper-ack-quorom, что подтверждение клиента задерживается до тех пор, пока это число букмекеров не напишетзапись на диск?

В чем разница между bookkeeper-ensemble и bookkeeper-write-quorum?

Предположим, у меня есть 3 букмекера, и я хочу, чтобы темы в пространстве имен располагались на каждой из них, затемЯ установил оба значения на 3?

1 Ответ

2 голосов
/ 14 марта 2019

Означает ли bookkeeper-ack-quorom, что подтверждение для клиента задерживается до тех пор, пока это число букмекеров не запишет запись на диск?

Это верно. Если ваш ack-кворум равен 2, это означает, что у вас будет 2 гарантированные копии сообщения, когда публикация будет успешной. В конфигурации по умолчанию это будет означать, что сообщение записывается на диск и записывается (fsynced) на диск на 2 компьютерах.

В чем разница между бухгалтером-ансамблем и бухгалтером-записью-кворумом?

Ансамбль - это количество букмекеров, которые будут использоваться для главной книги. Большую часть времени это настроено так, что оно равно кворуму записи.

Установка ensemble > write-quorum включит «чередование записей по нескольким букмекерам в рамках одной темы.

Например, установка e=5 w=2 a=2 составит:

  • Каждое сообщение написано в 2-х экземплярах, и мы ждем 2 подтверждения
  • Сообщения чередуются в 5-ти буклетах
  • Каждый букмекер будет иметь подмножество сообщений 2/5
  • Каждый букмекер будет иметь небольшой трафик записи / чтения

В основном это позволяет увеличить IO для одной бухгалтерской книги без упорядочивания.

Предположим, у меня есть 3 букмекера, и я хочу, чтобы темы в пространстве имен располагались на каждой из них, а затем я установил оба значения на 3?

Правильно. Хотя ensemble также представляет собой минимальный набор книг, которые должны быть доступны для того, чтобы записи были приняты.

Если у вас 3 букмекера и установлен ensemble=3, вы не сможете допустить сбой узла.

...