Существует ли разность оборотов между WSGI и FCGI?

Я предложил бы взглянуть на шаблон Roberston's Volere здесь . Они - часть Атлантической Системной Гильдии, вместе с людьми как Tom DeMarco и Timothy Lister известности "Peopleware".

, Поскольку шаблон защищен авторским правом, я не воспроизведу его здесь, но дам Вам некоторые основные заголовки:

  1. Цель Проекта
  2. Заинтересованные стороны
  3. Переданные под мандат Ограничения
  4. Соглашения о присвоении имен и Терминология
  5. Соответствующие Факты и Предположения
  6. Объем Работы
  7. Модель Бизнес-данных и Словарь Данных
  8. Объем продукта
  9. Функциональные требования
  10. Взгляд и Требования Чувств...

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

Взгляд здесь в главе 9.

35
задан torger 17 November 2009 в 07:59
поделиться

2 ответа

Верно, WSGI - это определение программного API Python, а FASTCGI - это определение протокола подключения сокетов, не зависящее от языка. Фактически они находятся на разных уровнях, причем WSGI является более высоким уровнем. Другими словами, можно реализовать WSGI поверх того, что так случилось, чтобы использовать FASTCGI для связи с веб-сервером, но не наоборот.

В общем, FASTCGI, являющийся протоколом подключения сокета, означает, что вам всегда нужны некоторые тип программного интерфейса сверху, чтобы использовать его. Для Python одним из таких вариантов является WSGI. Поскольку FASTCGI - это всего лишь средство для достижения цели, в этом случае нельзя действительно сравнивать его производительность с WSGI, потому что WSGI не является сопоставимым протоколом подключения сокетов, а является пользователем самого FASTCGI.

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

71
ответ дан 27 November 2019 в 06:37
поделиться

Это разные вещи. WSGI - это специальный интерфейс Python для написания веб-приложений. Существуют оболочки для любого протокола веб-сервера, обеспечивающие интерфейс WSGI. FastGCI (FCGI) - один из таких протоколов веб-сервера. Итак, WSGI - это уровень абстракции, а CGI / FastCGI / mod_python - это то, как фактические веб-серверы взаимодействуют с приложением. Некоторый код должен переводить собственный интерфейс в WSGI (есть модуль CGI в wsgiref , есть flup для FastCGI и т. Д.). Также существует mod_wsgi для Apache, который выполняет перевод непосредственно в модуле Apache, поэтому вам не нужна оболочка Python.

25
ответ дан 27 November 2019 в 06:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: