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

Что такое веб-сервер, управляемый событиями

Я хочу понять основы веб-сервера Event Driven, я знаю, что один из них - Tornado, но любая другая информация очень ценится.

Спасибо

4b9b3361

Ответ 2

Веб-сервер должен обрабатывать параллельные соединения. Есть много способов сделать это, некоторые из них:

  • Процесс для каждого соединения.
  • Процесс для каждого соединения и готовый к использованию пул процессов.
  • Поток для каждого соединения.
  • Поток для каждого соединения и готовый к использованию пул потоков.
  • Один процесс, обрабатывающий каждое событие (принятое соединение, доступные для чтения данные, может писать клиенту,...) в обратном вызове.
  • Некоторая комбинация из вышеперечисленного.
  • ...

В конце концов, различие заканчивается тем, как вы сохраняете каждое состояние соединения (явно в структуре контекста, неявно в стеке, неявно в продолжении,...) и как вы планируете между подключениями (пусть ОС планировщик сделать это, позволить примитивам опроса ОС сделать это,...).

Ответ 3

Управляемый событиями способ направлен на решение проблемы C10K. Он превращает традиционную "модель push" в "модель pull" для создания неблокирующего события ввода-вывода. Проще говоря, архитектура, управляемая событиями, не позволяет создавать дополнительные потоки и потоки изменения контекста потока, и обычно заканчивается лучшей производительностью и меньшим потреблением ресурсов.

Некоторые из обзоров разработчика rails также включают в себя аналогию: http://odysseyonrails.com/articles/8