Как я могу выполнить горячее повторное развертывание в производственном режиме в приложениях play framework 2?

Я знаю, что play framework 2 поддерживает горячую перезагрузку кода в режиме разработки, я хочу знать, как я могу выполнить горячее повторное развертывание в производственном режиме в приложениях play framework 2? Есть ли для этого прозрачный подход? что-то вроде использования балансировщика нагрузки или нативного подхода для меня приемлемо.


person Saeed Zarinfam    schedule 18.08.2014    source источник
comment
Режим разработки не совсем горячая перезагрузка. Сервер полностью перезагружается после перекомпиляции.   -  person Michael Zajac    schedule 18.08.2014


Ответы (2)


Балансировка нагрузки — это естественный выбор для игры, поскольку она не имеет состояния. Вы можете выполнять развертывание на одном экземпляре за раз, и ваше приложение будет оставаться доступным все время, пока другие экземпляры находятся в рабочем состоянии.

После развертывания приложения верните его в балансировщик нагрузки, и конечные пользователи не заметят никаких сбоев.

person faissalb    schedule 18.08.2014

Слишком поздно отвечать на этот вопрос, но с помощью удаленного отладчика вы можете выполнять горячую замену классов Java.

$ jdb -attach 192.168.2.241:9999
> redefine com.ClassName /path/to/project/target/scala-2.12/classes/com/ClassName.class
person Ali Soleimani    schedule 29.12.2020