В одной и той же группе потребителей каждая очередь обслуживается только одним экземпляром. Когда количество очередей меньше количества экземпляров потребителей, некоторые экземпляры потребителей не получают очередь; наоборот, когда количество очередей больше количества экземпляров потребителей, каждому потребителю необходимо обслуживать несколько очередей. Если количество очередей не является целым числом, кратным количеству экземпляров потребителей, то некоторые экземпляры должны будут обслуживать больше очередей, чем другие экземпляры в той же группе, что приводит к проблеме неравномерного распределения нагрузки.
DeFiBus предоставляет функцию автоматического регулирования количества очередей. При регистрации или отмене регистрации потребителя брокер инициирует автоматическое расширение или сжатие очередей в зависимости от текущего количества активных экземпляров потребителей, увеличивая или уменьшая количество очередей для поддержания баланса между количеством очередей и количеством экземпляров потребителей.
При необходимости увеличения количества очередей сначала корректируется ReadQueueNum темы, чтобы увеличить количество доступных для чтения очередей; через 10 секунд корректируется WriteQueueNum темы, чтобы увеличить количество доступных для записи очередей. Это позволяет новым расширенным очередям быть сначала обнаруженными и отслеживаемыми потребителями, а затем производителями, которые отправляют сообщения в новые очереди, обеспечивая более плавное расширение.
Когда необходимо уменьшить количество очередей, сначала корректируется WriteQueueNum темы, чтобы уменьшить количество доступных для записи очередей; через пять минут (по умолчанию, настраивается) проверяется, есть ли сообщения, оставшиеся необработанными в очередях, подлежащих сокращению. Если да, то операция сокращения откладывается, позволяя потребителям завершить обработку сообщений в очередях; если нет, корректируется ReadQueueNum, чтобы уменьшить количество доступных очередей.
Для нескольких групп потребителей, подписанных на одну и ту же тему и работающих в режиме кластерного потребления, при расчёте количества расширяемых или сокращаемых очередей используется максимальное количество экземпляров потребителей в самой большой группе, чтобы гарантировать, что каждый экземпляр потребителя в группе с наибольшим количеством экземпляров может получить очередь для обработки.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )