Может кто-нибудь объяснить "heroku ps:scale web=1"
Я ищу прямое объяснение того, что все происходит, когда я вхожу:
msgstr "heroku ps:scale web=1".
Что Heroku делает за кулисами для развертывания приложения? Я спрашиваю, потому что я только сейчас использую Heroku для развертывания и хотел бы лучше понять процесс. Спасибо!
3 ответа
Эта команда не развертывает приложение. Запускает его, после того как вы развернули.
Когда вы развертываете свое приложение, heroku создает "слаг". Запускаемая версия вашего приложения в архиве, которая затем сохраняется. Затем вы можете запустить "dynos", которая берет ваш текущий слаг и запускает его на одном из серверов heroku.
Бег heroku ps:scale web=1
будет масштабировать ваше приложение до одного работающего dyno, в основном это означает, что у вас есть один сервер, на котором сейчас работает ваше приложение
Если вы снова развернете свое приложение, новый слаг будет сгенерирован и сохранен, а ваши работающие в данный момент dyno будут уничтожены, чтобы заменить их новыми версиями вашего кода.
Всякий раз, когда вы заново развертываете свое приложение в heroku, оно запускает один dyno, где приложение запускается. Просто рассмотрите это как сервер. Этот сервер не может обрабатывать большое количество запросов одновременно.
Таким образом, чтобы обработать все эти массовые запросы, вы можете запустить несколько экземпляров вашего приложения, то есть несколько dyno, используя запасные ресурсы, доступные в heroku, так же, как запустить несколько экземпляров в tomcat для одного и того же приложения с помощью команды (в пределах курса):
heroku ps:scale web=<number_dynos_u_want>
Heroku выполняет балансировку нагрузки для вас. Таким образом, вы можете масштабировать приложение по горизонтали, чтобы справиться с большей нагрузкой. Надеюсь, что это очищает эту концепцию!
Хотя другие ответы верны, я думаю, что некоторым может быть полезно понять фактическую разбивку команды.
ps
это команда, которая ставит префиксы ко многим командам, влияющим на dynos (~ экземпляры виртуальных машин); Я предполагаю, что это связано с Linuxps
команда, которая означает "статус процесса".ps:scale
используется для увеличения количества дино, запускающих процесс.ps:scale web=1
указывает запуск процесса на 1 веб-дино.
Индекс команд Heroku CLI можно найти здесь:https://devcenter.heroku.com/articles/heroku-cli-commands
Вы масштабируете количество веб-динамов до 1.
Я бы сказал, что есть много документов по этой теме.
https://devcenter.heroku.com/articles/scaling
https://devcenter.heroku.com/articles/dynos