Должны ли мы беспокоиться о слишком большом количестве связок в теме Pulsar?

Мы наблюдали следующее предупреждение в нашем кластере Пульсар. Должны ли мы беспокоиться об этом?

     18:37:37.165 [pulsar-modular-load-manager-29-1] 
       WARN  org.apache.pulsar.brok er.loadbalance.BundleSplitStrategy - 
       Could not split namespace bundle pulsareval/0x56000000_0x56800000
       because namespace pulsareval has too many bundles: 512

1 ответ

Сначала немного информации о том, какие пакеты на самом деле... из https://pulsar.apache.org/docs/en/administration-load-balance/

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

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

В целом, если ожидаемый трафик и количество тем известны заранее, рекомендуется начать с разумного количества пакетов, а не ждать, пока система автоматически исправит распределение.

Расщепление пространств имен

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

Ваше сообщение об ошибке указывает на то, что количество тем выросло достаточно, чтобы вызвать автоматическое разбиение пакетов, но это не привело к максимальному количеству пакетов, разрешенному в пространстве имен. Хотя это не смертельное состояние, оно повлияет на производительность.

Поэтому вы можете увеличить значение loadBalancerNamespaceMaximumBundles свойство в вашем файле broker.conf, которое ограничивает максимальное количество пакетов, которые вы можете иметь в пространстве имен. На основании сообщения об ошибке кажется, что это то, что происходит.

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