Я работаю над проектом, который требует развертывания новых серверов сельдерея, если очередь брокера (redis) постоянно превышает заданный пороговый размер, и убивает новые ящики, когда размер очереди уменьшается. У меня есть сценарии, которые позаботятся о том, чтобы внедрить новые коробки и убедиться, что на них работает правильная конфигурация. Я планирую проверять очередь с помощью redis-cli через частые (15 минут) интервалы, и если размер больше, то пороговое значение уменьшит временной интервал между проверками (скажем, 3 минуты), проверяйте дважды, а затем разверните новые поля и следуйте тому же подходу к убить новые серверы.
Я новичок в сельдерее, и было бы здорово, если бы я мог получить совет по этому подходу.
Спасибо
Если вы используете группу автомасштабирования EC2, это может быть довольно просто. Я делаю нечто подобное, но с длиной очереди RabbitMQ.
Периодически проверяйте длину очереди, а затем решайте для определенной длины очереди, сколько воркеров вам нужно. Затем вы можете использовать ASG API (или инструменты командной строки), чтобы установить «желаемую емкость» для группы в соответствии с количеством необходимых вам работников. Затем ASG позаботится о создании и завершении экземпляров по мере необходимости.