Apache Pulsar topi c репликация с увеличением размера кластера - PullRequest
1 голос
/ 10 января 2020

Я хочу понять, как репликация пространства имен / topi c работает в Apache Pulsar и как влияет изменение размера кластера на коэффициент репликации существующих и новых пространств имен / тем.

Рассмотрим следующий сценарий:

Я начинаю с одного узла со следующей конфигурацией брокера:

# Number of bookies to use when creating a ledger
managedLedgerDefaultEnsembleSize=1

# Number of copies to store for each message
managedLedgerDefaultWriteQuorum=1

# Number of guaranteed copies (acks to wait before write is complete)
managedLedgerDefaultAckQuorum=1

Через несколько месяцев я решаю увеличить размер кластера до двух с помощью следующего конфигурация для нового брокера:

# Number of bookies to use when creating a ledger
managedLedgerDefaultEnsembleSize=2

# Number of copies to store for each message
managedLedgerDefaultWriteQuorum=2

# Number of guaranteed copies (acks to wait before write is complete)
managedLedgerDefaultAckQuorum=2

В приведенном выше сценарии, как будет выглядеть поведение кластера:

  1. Изменит ли это коэффициент репликации (RF) существующих тем? ?
  2. Имеют ли вновь созданные темы старый RF или новый указанный RF?
  3. Как работает пространство имен / topi c (Управляемая книга) -> Владение брокером?

Обратите внимание, что на этом этапе два брокерских узла имеют разные конфигурации.

TIA

1 Ответ

2 голосов
/ 11 января 2020

То, что вы изменяете, это настройки репликации по умолчанию (ансамбль, запись, подтверждение). Вы не должны использовать разные значения по умолчанию для разных брокеров, потому что тогда вы получите непоследовательное поведение в зависимости от того, к какому брокеру подключается клиент.

Параметры репликации контролируются на уровне пространства имен. Если вы не установите их явно, вы получите настройки по умолчанию. Однако вы можете изменить настройки отдельных пространств имен, используя CLI или интерфейс REST. Если вы начинаете с настроек (1 ансамбль, 1 запись, 1 подтверждение) в пространстве имен, а затем изменяете на (2 ансамбля, 2 запись, 2 подтверждения), происходит следующее:

  • Все новое темы в пространстве имен используют новые параметры, сохраняя 2 копии каждого сообщения
  • Все новые сообщения, опубликованные в существующих темах в пространстве имен, используют новые параметры, сохраняя 2 копии. Сообщения, которые уже сохранены в существующих темах, не изменяются. У них по-прежнему есть только 1 копия.

Важно отметить, что количество посредников не влияет на репликацию сообщений. В Pulsar брокер просто обрабатывает (производит / потребляет) сообщение. Брокеры не имеют статуса и могут масштабироваться по горизонтали. Сообщения хранятся на узлах Bookkeeper (букмекеры). Настройки репликации (ансамбль, запись, подтверждение) относятся к узлам счетовода, а не к брокерам. Вот диаграмма с веб-сайта Pulsar, которая иллюстрирует это:

Pulsar Architecture

Итак, чтобы перейти от настройки (1 ансамбль, 1 запись, 1 подтверждение) ) к (2 ансамбля, 2 записи, 2 подтверждения), вам нужно добавить узел Bookkeeper в ваш кластер (при условии, что вы начинаете только с 1), а не другого брокера.

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