Может кто-нибудь объяснить героку ps:scale web=1

Я ищу простое объяснение того, что происходит, когда я ввожу следующую команду:

heroku ps:scale web=1 

Что Heroku делает за кулисами для развертывания приложения? Я спрашиваю, потому что только сейчас использую Heroku для развертывания и хотел бы лучше понять процесс. Спасибо!


person Ahmed Haque    schedule 19.05.2015    source источник


Ответы (4)


Эта команда не развертывает приложение. Он запускает его после того, как вы его развернули.

Когда вы развертываете свое приложение, heroku создает «слаг». Готовая к работе заархивированная версия вашего приложения, которая затем сохраняется. Затем вы можете запустить «dynos», которые берут ваш текущий слаг и запускают его на одном из серверов героку.

Запуск heroku ps:scale web=1 масштабирует ваше приложение до одного работающего динамометра, в основном это означает, что в настоящее время у вас есть один сервер, на котором запущено ваше приложение.

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

person Damien MATHIEU    schedule 19.05.2015

Всякий раз, когда вы только что развертываете свое приложение в heroku, оно запускает один dyno, где работает приложение. Просто считайте его сервером. Этот сервер не может обрабатывать большое количество запросов одновременно.

Таким образом, чтобы обработать все эти массовые запросы, вы можете запустить несколько экземпляров вашего приложения, то есть несколько dyno, используя запасные ресурсы, доступные в heroku, точно так же, как запускать несколько экземпляров в tomcat для одного и того же приложения с помощью команды (конечно, в пределах ограничений):

heroku ps:scale web=<number_dynos_u_want>

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

person Ramsudharsan Manoharan    schedule 07.11.2017

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

  • ps — это команда, которая предшествует многим командам, влияющим на dynos (экземпляры виртуальных машин); Я предполагаю, что это связано с командой linux ps, что означает «статус процесса».
  • ps:scale используется для увеличения количества динамометров, запускающих процесс.
  • ps:scale web=1 указывает на запуск процесса на 1 веб-дино.

Указатель команд Heroku CLI можно найти здесь: https://devcenter.heroku.com/articles/heroku-cli-commands

person Andy    schedule 02.02.2020

Вы масштабируете количество веб-динамиков до 1.
Я бы сказал, что по этой теме есть много документации.
https://devcenter.heroku.com/articles/scaling
https://devcenter.heroku.com/articles/dynos

person Detached    schedule 19.05.2015