Как именно работает процесс развертывания Heroku?

Что именно происходит, когда я развертываю новую версию своего сервиса на Heroku?

Предположим, у меня сейчас в сети N веб-дино, M из них в настоящее время обслуживают запросы.

  • Все ли они закрываются до того, как новая версия начнет поступать в сеть? Что происходит с любыми ожидающими запросами, которые в настоящее время обслуживаются?
  • Есть ли простои? (предположим, у меня просто есть служба без отслеживания состояния без каких-либо миграций)
  • Есть ли ловушка для выполнения пользовательских миграций (например, миграции таблиц базы данных)?
  • Могу ли я запустить N серверов, на которых запущена новая версия, заставить их начать обслуживание запросов , и отключите предыдущие N серверов только после того, как они перестанут обслуживать запросы?
  • Зависит ли ответ от стека / языка? (Aspen / Bamboo / Cedar, Ruby / Node.js / Java / ...)

У меня не было официальной документации по этому поводу, только сообщения об обратном (некоторые говорят, что горячие миграции невозможны , в то время как другие говорят, что простоев нет ). Есть ли какие-либо официальные подробности о процессе развертывания и вышеупомянутых вопросах?

7
задан Community 23 May 2017 в 12:00
поделиться