Подтвердить что ты не робот

PSGI: Что это такое и в чем дело?

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

Я не понимаю всю суету. Для меня PSGI похож на структуру, которая обеспечивает общий интерфейс между различными модулями Apache, который позволяет вам перемещать ваше приложение между ними. например, легко переместить приложение из режима работы mod_perl на fastcgi и предоставить поддержку приложения для работы с обоими параметрами.

Это правильно, или я что-то пропустил?

Как я и команда, я являюсь частью не только разработки приложения, но и в значительной степени занимаюсь обслуживанием и настройкой серверов. Я не вижу для нас значения возможности работать на fastcgi, cgi и mod_perl, мы просто отлично с mod_perl.

Я неправильно понял функциональность PSGI, или это просто не подходит для моего проекта?

4b9b3361

Ответ 1

Забыть бит Apache. Это способ написания вашего приложения, так что выбор веб-сервера становится менее актуальным. В $work мы переключились на Plack/PSGI после того, как обнаружили, что наше приложение работает с очень высокой загрузкой процессора после обновления до Apache2 - бенчмаркинг различных конфигураций Apache и NYTProfing не смогли определить причину, а использование PSGI и веб-сервера Starman получилось намного лучше для нас.

Теперь все обрабатывается в одном месте нашим приложением PSGI (перезаписи URL-адресов, статическим содержимым, заголовками истечения срока и т.д.), а не конфигурацией Apache, поэтому он a) Perl и b) легко тестируется через наш стандарт/t/скрипты. Также наши тесты теперь точно проверяют то, что видит пользователь, а не просто основное приложение.

Возможно, это не относится к вам, если вы довольны Apache и mod_perl, и я уверен, что другие смогут дать гораздо лучшие ответы, но для нас не нужно иметь дело с чем-то, что связано с Apache такое облегчение само по себе. Простота тестирования и возможность просто вставлять в Data:: Dumper и посмотреть, что происходит, а не бороться с ModRewrite и друзьями, - это отличное благо.

Ответ 2

Заимствование из недавнего сообщения в блоге по chromatic, Почему PSGI/Plack Matters (Тестирование), вот что это такое:

Это хорошая идея, заимствованная из Python WSGI и Ruby Rack, но сделанная Perlish; это простая формализация шаблона разработки веб-приложений, где точкой входа в приложение является ссылка на функцию, а точка выхода - кортеж информации заголовка и тела ответа.

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

Важным преимуществом является ibid.,

Учитывая приложение Plack, вам не нужно развертывать на веб-сервере - даже локально - для тестирования вашего приложения, как если бы оно было развернуто... Plack и TWMPPlack::Test) используют четко определенный шаблон Plack, чтобы сделать что-то, что было ранее трудно во что-то удивительно легкое. Они не первые, и они не будут последними, но они демонстрируют ценность Plack.

Ответ 3

Написал ответ, и после 50 строк я удалил его. Просто потому, что невозможно сказать (короче), почему PSGI очень круто. Я тоже новичок в PSGI, но теперь zilion намного проще, чем раньше, в эпоху apache/mod_perl.

Я могу дать вам следующие советы:

  • прочитайте Календарь пришествия по расписанию - все дни, шаг за шагом. Вы должны понять основную философию, что хорошо на луке и т.д....:)
  • найдите CPAN для "Plack:: Middleware::" - и прочитайте первые несколько строк в каждом. Здесь МНОГО. (На самом деле это должен быть где-то краткий обзор для каждого, к сожалению, не знаю более быстрый способ. Просто хорошо знать, какие средние продукты уже разработаны (например, вам наверняка понадобится Plack:: Middleware:: Session, или Plack:: Middleware:: Static и т.д.)
  • прочитайте о Plack:: Builder (уже сделано, когда вы сделали с календарем пришествия):)
  • попробуйте написать некоторые приложения с ним и найдет, чем Plack, как первый секс - теперь вы не понимали, что можете жить без него.

пс: Если бы здесь было что-то вроде "Perl Oscar", обязательно будет назначать MyiagavaSan.:)