Подход к автоматическому масштабированию серверов сельдерея на основе размера очереди посредника (redis)

Я работаю над проектом, который требует развертывания новых серверов сельдерея, если очередь посредника (redis) постоянно превышает заданный пороговый размер, и уничтожает новые блоки, когда размер очереди уменьшается. У меня есть сценарии, чтобы позаботиться о введении новых блоков и проверке правильной конфигурации на них. Я планирую проверять очередь с помощью redis-cli после частых (15 минут) интервалов, и если размер больше, чем порог, дважды уменьшите разрыв во времени между проверками (скажем, 3 минуты), а затем разверните новые поля и следуйте тому же подходу к убить новые серверы.

Я новичок в сельдерее, и было бы здорово, если бы я мог получить некоторые советы по этому подходу.

Спасибо

1 ответ

Решение

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

Периодически проверяйте длину очереди, а затем решите для определенной длины очереди, сколько рабочих вы хотите. Затем вы можете использовать ASG API (или инструменты командной строки), чтобы установить "желаемую емкость" для группы в соответствии с количеством нужных вам работников. Затем ASG заботится о создании и завершении экземпляров по мере необходимости.

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