2013-10-05 5 views
0

Я играю в Play Framework 2.2, пытаясь использовать различные сценарии и исходя из среды LAMP. У меня есть этот вопрос: есть ли какая-то форма горячего исправления на реальном сервере производства? Если да, то как это работает? Если нет, то что самое близкое?Play framework 2.2 «hot fixing» live production server

Сервер ОС - Centos 6.4. Эквивалентный пример в LAMP - это повторная загрузка некоторого файла с помощью исправления.

ответ

5

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

Вместо горячей фиксации подумайте о наличии обратного прокси-сервера перед игровым приложением (Apache и Nginx - хорошие альтернативы). Когда вам нужно обновить приложение, просто загрузите его в новую папку и запустите его с новым номером порта. Когда новый экземпляр сервера запущен и запущен, переключите обратный прокси, чтобы указать на новый экземпляр. Затем закройте старый экземпляр.

При таком подходе вы можете безопасно обновлять свой сервер без простоя.

+0

На самом деле вы можете «почти» исправление, если вы скомпилируете исполняемые файлы сцены на другой машине, переместите их, убейте игру и запустите сценарий сцены. Это сократится на несколько секунд, но это намного лучше, чем альтернатива. Кроме того, используйте лак, если вы хотите прокси/loadbalancer. Это намного эффективнее :) –

2

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

+0

... и, конечно, игра делает это проще, учитывая, что он без гражданства. :-) –

+0

Трюк применяет эволюции, если вы делаете изменения в базе данных, которые не обратно совместимы со старой версией вашего приложения ... Boom – xref

Смежные вопросы