Репликация темы в Apache Pulsar

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

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

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

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

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

1 ответ

Решение

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

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

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

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

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

Например, настройка e=5w=2a=2 сделаю:

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

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

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

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

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

Другие вопросы по тегам