Высокий параллельный сервер запросов в ruby - PullRequest
4 голосов
/ 02 июня 2010

Я пытаюсь написать простой сервер, который будет извлекать mp3-файл из облачных файлов rackspace и передавать его клиенту по HTTP.

Сервер должен иметь возможность потоковой передачи нескольким клиентам одновременно, однако мне трудно найти жизнеспособное решение.

У кого-нибудь есть идеи?

Ответы [ 2 ]

5 голосов
/ 02 июня 2010

Есть несколько серверов, которые могут вам подойти.

  • http://code.macournoyer.com/thin/

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

  • http://rainbows.rubyforge.org/

    Rainbows! HTTP-сервер для сонных приложений в стойке Он основан на Unicorn, но предназначен для работы с приложениями, которые ожидают большое время запросов / ответов и / или медленных клиентов. Для приложений Rack, которые не сильно связаны медленными зависимостями от внешних сетей, рассмотрите вариант Unicorn, поскольку он проще и проще для отладки.

  • http://unicorn.bogomips.org/

    Unicorn - это HTTP-сервер для приложений Rack, предназначенный для обслуживания быстрых клиентов только в соединениях с малой задержкой и высокой пропускной способностью и использования возможностей ядер Unix / Unix-like. Медленные клиенты должны обслуживаться только путем размещения обратного прокси-сервера, способного полностью буферизовать как запрос, так и ответ между Unicorn и медленными клиентами.

2 голосов
/ 04 ноября 2010

Еще одним модным решением для серверов с высоким уровнем параллелизма будет node.js:

http://nodejs.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...