2011 Языки веб-сценариев и динамическая перезагрузка

Это уже какое-то время меня беспокоит.

В развернутом веб-приложении PHP можно загрузить измененный скрипт php и получить обновленный файл на веб-сервере без перезапуска.

Проблема? Ruby, Groovy и Python и т. Д. все «лучше», чем PHP, с точки зрения выразительности языка, краткости, мощности, ... вашей-причины-здесь.

В настоящее время мне очень нравится Groovy (через Grails), но на самом деле JVM не поддерживает хорошо (вообще) с производственной динамической перезагрузкой кода приложения. По сути, ошибки Permgen из-за нехватки памяти - это виртуальная гарантия, а это означает сбой приложения в любое время - не очень хорошо.

Фреймворки Ruby, похоже, несколько решили эту проблему из того, что я читал: у Passenger есть возможность динамически перезагружать измененные файлы в опрошенных каталогах при следующем запросе (таким образом предотвращая отключение подключенных пользователей, потерю сеанса и т. д.)

Автономный Python Я не уверен в этом; он может, как и PHP, разрешать динамическую перезагрузку скриптов Python без перезапуска веб-сервера.

Что касается нашей работы в Интернете, неизменно клиенты хотят внести изменения в развернутое приложение, независимо от того, насколько подробными и хорошо спланированными были спецификации. Сказать клиенту: «Конечно, мы реализуем это [простое] изменение завтра в 4 часа утра [чтобы не нанести ущерб подключенным пользователям]» не слишком удачно.

Где мы находимся по состоянию на 2011 год с точки зрения динамической перезагрузки и языков сценариев? Неужели мы навсегда обречены: мы полагаемся на удобство PHP или радости не-PHP и вынуждены перезапускать развернутое приложение?

Кстати, я вовсе не поклонник JSP, GSP и Ruby, шаблонов Python эквиваленты, несмотря на их перезаряжаемость. Это торт и съесть его тоже поток, где мы можем внести изменения в любой аспект приложения и не перезапускать его.

5
задан virtualeyes 16 February 2011 в 07:56
поделиться