Знакомство с новыми возможностями Pulsar3.0

Pulsar3.0-NewFeature.png

В предыдущей статье «Руководство по обновлению Pulsar3.0» мы рассказали о ключевых шагах и аварийном восстановлении при обновлении кластера Pulsar.На этот раз мы в основном рассказываем о некоторых Pulsar3.0новых функциях и возможных проблемах.

Проблемы, возникшие после обновления

Поговорим о проблемах, возникших после обновления.

Есть две проблемы, которые для нас более очевидны, особенно первая.

тема была удалена

2.11.2После обновления с до ранним утром прошлого месяца мы 3.0.1провели функциональный тест, упомянутый в предыдущей статье, и обнаружили, что проблем нет. Мы почувствовали, что все прошло гладко. Через полчаса мы вышли с работы.

На следующий день неожиданно меня разбудил телефонный звонок: некоторые предприятия сообщили, что больше не могут подключаться к Pulsar после перезапуска бизнеса.

изображение.pngИтоговая позиция - тема удалена.

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

Подробное описание в этом выпуске и пиар: https://github.com/apache/pulsar/issues/21653 https://github.com/apache/pulsar/pull/21704

Заинтересованные друзья также могут сначала посмотреть.

Индикаторы мониторинга потеряны

Вторая проблема не такая уж серьезная, после обновления я обнаружил, что некоторые индикаторы мониторинга бухгалтера пропали, например, задержка записи здесь: изображение.pngдавно нахожу, но ни официального докер-образа, ни исходного кода компиляция может воспроизвести эту проблему.

Итоговые потерянные показатели таковы:

  • bookkeeper_server_ADD_ENTRY_REQUEST
  • bookkeeper_server_ADD_ENTRY_BLOCKED
  • bookkeeper_server_READ_ENTRY_BLOCKED
  • bookie_journal_JOURNAL_CB_QUEUE_SIZE
  • bookie_read_cache_hits_count
  • bookie_read_cache_misses_count
  • букмекер_DELETED_LEDGER_COUNT
  • bookie_MAJOR_COMPACTION_COUNT

Подробную информацию см. в этой проблеме: https://github.com/apache/pulsar/issues/21766 .

новые возможности

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

Поддержка балансировки низкой нагрузки

изображение.png

Когда мы обновляем или перезапускаем брокеры, после того, как все перезапуски прошли успешно, мы фактически обнаружим, что у последнего перезапущенного брокера нет трафика.

Этот принцип и оптимизация фактически подробно представлены в «Принципе балансировки нагрузки и оптимизации Pulsar» , написанном ранее .

На этот раз 3.0 наконец-то выпустила эту оптимизацию.После этого, пока мы ее настраиваем, мы lowerBoundarySheddingEnabled: trueможем включить эту функцию балансировки низкой нагрузки, чтобы брокеры с низкой нагрузкой все еще могли получать входящий трафик.

Пропускать пустые сообщения

изображение.pngPulsar может вызвать дыру в курсоре из-за ненормального потребления сообщений, в результате чего диск не будет освобожден;

Итак, у нас есть запланированная задача, которая будет регулярно сканировать список тем сообщений, чтобы определить, есть ли пустые сообщения. Если есть пустые сообщения, вы можете использовать API SkipMessage в консоли управления, чтобы пропустить пустые сообщения и освободить диск.

Однако в этом API пропуска до версии 3.0 была ошибка. Пока количество пропусков превышало 8, фактическое количество пропусков будет меньше 8.

Конкретная проблема и процесс устранения описаны здесь: https://github.com/apache/pulsar/issues/20262 https://github.com/apache/pulsar/pull/20326.

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

Новый балансировщик нагрузки

Также поддерживается новый балансировщик нагрузки, решающий следующие проблемы:

  • Предыдущая балансировка нагрузки в значительной степени зависела от ZooKeeper, что вызывало проблемы с масштабируемостью при увеличении количества тем.
    • Новый балансировщик нагрузки использует non-persistentдля хранения информации о нагрузке и больше не использует zk.
  • Предыдущий балансировщик нагрузки должен был полагаться на leader brokerперенаправление к конкретному брокеру.На самом деле эти перенаправления были бессмысленными и только увеличивали нагрузку на систему.
    • Новый балансировщик нагрузки использует SystemTopic для хранения информации о владельце темы, чтобы каждый брокер мог получить данные, устраняя необходимость перенаправления от ведущего брокера.

Для получения более полной информации обратитесь к этому PIP: PIP-192: Новый балансировщик нагрузки Pulsar Broker.

Поддержка крупномасштабных отложенных сообщений

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

В нашем бизнесе мы также часто используем отложенные сообщения. Раньше с отложенными сообщениями возникали следующие проблемы:

  • Затраты на память слишком велики. Индекс задержанных сообщений хранится в памяти. Даже если его можно распределить и сохранить между несколькими брокерами, потребление все равно велико.
    • Сосредоточьтесь на оптимизации использования памяти индексом.
  • Перезапуск брокера займет много времени для восстановления индекса.
    • Поддерживает снимки индекса, что сводит к минимуму потребление ресурсов при построении индекса.

Функции, которые необходимо оптимизировать

Оптимизация панели мониторинга

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

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

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

изображение.pngОн все еще находится в стадии разработки, вероятно, аналогичен этим данным.

Подведем итог

Pulsar3.0 — это первая LTS-версия Pulsar. Рекомендуется выполнить обновление как можно скорее, чтобы получить долгосрочную поддержку. Но пока это программное обеспечение, в нем будут ошибки, даже если это версия LTS, поэтому, если вы столкнетесь с ошибками в повседневном использовании, рекомендуется оставить отзыв сообществу и работать вместе, чтобы способствовать развитию Pulsar.

MySQL 5.7, Moqu, Ли Тяотяо... Подведение итогов (с открытым исходным кодом) проектов и веб-сайтов, которые будут "приостановлены" в 2023 году. Сбой Kingsoft WPS . Эксперимент Linux с Rust оказался успешным. Сможет ли Firefox воспользоваться этой возможностью... 10 прогнозов об открытом исходном коде Средняя школа приобрела «интеллектуальное интерактивное устройство катарсиса», которое на самом деле является оболочкой для Nintendo Wii. «Руипинг», отец Redis, LLM-программирование: всеведущий и всемогущий&& Глупый Эпоха «пост-открытого исходного кода» наступила прибыл: срок действия лицензии истек и не может служить широкой публике.Выпущен Vim 9.1, посвященный Брэму Муленаару 2024 «Новогодняя битва» в кругу фронтенда: React роет ямы, но не заполняет их, должен ли он полагаться на документацию, чтобы заполнить их? China Unicom Broadband внезапно ограничила скорость загрузки, и большое количество пользователей пожаловались. Скончался Никлаус Вирт, отец Паскаля.
{{o.name}}
{{м.имя}}

Acho que você gosta

Origin my.oschina.net/crossoverjie/blog/10678357
Recomendado
Clasificación