Rainbows! е HTTP сървър за сънливи приложения Rack. Тя се основава на Unicorn, но подходяща за обработка на заявленията, които очакват дълги заявка / времена за реакция и / или бавни клиенти. За Rack приложения не силно обвързани с бавни външни зависимости мрежата, помисли Unicorn вместо както по-просто и по-лесно отстраняване на грешки.
Rainbows! е за странни неща Unicorn провали в:
* 3-ти лица APIs (до услуги извън вашия контрол / LAN)
* Потребителите OpenID (за доставчици извън вашия контрол / LAN)
* Reverse прокси реализации с редактиране / цензуриране (да upstreams извън вашия контрол / LAN)
* Comet
* BOSH (с бавни клиенти)
* HTTP сървър тласък
* Long избирателните
* Reverse Аякс
Rainbows могат също да бъдат използвани за обслужването на бавни клиенти дори при бързо приложения, използващи едновременност модел Rev.
<Силен> Монтаж:
Можете да изтеглите архив, от страницата Rainbows проект на Rubyforge и тичам setup.rb след разопаковане:
rubyforge.org/frs/?group_id=8977
Можете да го инсталирате чрез RubyGems на Rubyforge:
& Nbsp; скъпоценност инсталирате дъги
<Силен> Usage:
за Rack приложения
В APP_ROOT (където се намира config.ru), изпълнете:
& Nbsp; дъги
Rainbows! ще се свърже с всички интерфейси на TCP порт 8080 по подразбиране.
<Силен> Configuration File (и)
Rainbows! ще търси файла config.ru използва от rackup в APP_ROOT.
За внедрявания, той може да използва конфигурационния файл за Unicorn и Rainbows!-Специфични възможности, определени от ключа на командния ред на --config-файл / -С. Rainbows! приема всички опции са намерени в Unicorn :: Конфигуратор както и & ldquo;! Rainbows & rdquo; блок, така че можете да имате следното в своя конфигурационен файл:
& Nbsp; Rainbows! правя
& Nbsp; употреба: Revactor
& Nbsp; worker_connections 400
. & Nbsp; край
<силни> Характеристики :
- Проектиран за Rack, стандартът за модерни Ruby HTTP заявки
- Построен на Unicorn, наследява неговите функции за управление на процес / сокет като прозрачни ъпгрейди и Ruby конфигурация DSL.
- Както при Unicorn, тя е в състояние да поток големи изиска от органите на разстояние от гнездото на прилагането, докато клиентът е все още с качването. Тъй Rainbows! може да се справи бавни клиенти, тази функция е по-полезно, отколкото е с Unicorn.
- Комбайни тежка категория едновременност (процеси на работниците) с лек едновременност (актьори или нишки), които позволяват CPU / памет / диск, за да бъде намалена, независимо от клиентски свързвания. Алтернативни едновременност модели (изброени в ToDo) ще бъдат подкрепени, тъй като ние се намери време за тях.
Какво ново в тази версия:
- Тази версия добавя отвличане подкрепа за потребителите Rack 1.5.x. Вижте Rack документация за повече информация за отвличане. Lin Jen-Shin също условие / на -N - опция не-подразбиране-мидълуер. Малки опаковки почистване на бреговата и нова хакерство документ.
- Има и някои от ъгъл случай фиксирани бъга за * Epoll * потребители (sleepy_penguin, тези грешки не засягат EM или потребители Cool.io) и подобрения в преносимост тестов пакет.
Какво ново във версия 4.4.3:
- Тази версия поправя две EventMachine фиксирани бъга от Lin Jen- Shin и Mark J. Titorenko. Има и някои дребни почистване на бреговата.
Какво ново във версия 4.4.2:
- One Bugfix позволява поток (: keep_open) в Синатра да работи правилно.
Какво ново във версия 4.4.1:
- Fiber-базирани възможности едновременност избегнат отрицателните интервали съня. Благодарение на Lin Jen-Shin за фугиране на това.
Какво ново във версия 4.4.0:
- За epoll / Cool.io-базирани едновременност модели , изключване () сега се използва за таймаут Keepalive клиенти да се избегне състезателни условия.
- са направени незначителни подобрения документация.
Какво ново във версия 4.3.1:
- Тази версия поправя потенциален reentrancy безизходица, когато се използва подразбиране дървар от стандартната библиотека на Ruby.
Какво ново във версия 4.3.0:
- отхвърлената Rainbows :: HttpResponse клас е най-накрая отишли Благодарение на Pratik Naik. Регистрирането на грешки е по-последователно с промените в еднорог 4.1.0. Има и малки обновления на документацията. Вижте еднорога 4.1.0 бележките за повече информация: http://bogomips.org/unicorn.git/tag/?id=v4.1.0
Какво ново във версия 4.0.0:
- Rainbows! Сега везни до над 1024 работника процеси без специални привилегии. За да се даде възможност на този, Rainbows! Сега зависи от Unicorn 4.x и по този начин дъждовните капки [1].
- директива client_max_header_size се добавя за да се ограничи използването на клиент с памет в заглавки.
- експериментален вариант едновременност StreamResponseEpoll сега съществува и за ограничаване на изходящите отговори без конци-безопасно зависимости. За разлика от останалата част на дъгата! който работи добре без Nginx, тази опция едновременност се / само / подкрепена зад Nginx, още по-силно, отколкото самата Unicorn. не-Nginx LAN клиенти не се поддържат за това. Това се основава на sleepy_penguin [2] RubyGem (и Linux).
- Има някои малки корекции на грешки и почистване на бреговата всички наоколо.
Какво ново във версия 3.4.0:
- SIGQUIT (грациозна изключване) сега пада празен Keepalive клиенти за моделите едновременност където поддържането на празен ход клиент е сравнително евтин: Coolio, CoolioThreadPool, CoolioThreadSpawn, Epoll, EventMachine, XEpoll, XEpollThreadPool, XEpollThreadSpawn .
- Kgio.autopush сега работи правилно за всички многонишковите модели едновременност (ако използвате: tcp_nopush).
- локал решение за Впиши
- t0044: надеждност увеличение тест
- try_defer: позволи документация
- xepoll_thread_pool / клиент: подобряване подкрепа autopush
- .gitignore: добавяте етикети / тагове файлове
- добавите тестове за Kgio autopush на Linux
- добавете тест за SIGQUIT прекъснете
- event_machine: изключете свободните клиенти при по SIGQUIT
- клиент: използвайте kgio_write повсеместно
- Coolio * + * epoll *: капка Keepalive клиенти на SIGQUIT
- epoll / xepoll: по-последователни клиентски приложения
- док: Препоръчваме io_splice 4.1.1 или по-късно
<силни> Изисквания :
- Ruby
Коментари не е намерена