Rainbows! є HTTP-сервер для сонних додатків стійці. Він заснований на Єдиноріг, але призначений для обробки додатків, які очікують довгі запит / час відгуку і / або повільно клієнтів. Для додатків, стійки не сильно пов'язаних повільними зовнішніх мережевих залежностей, розглядати Єдиноріг замість, як це простіше і легше для налагодження.
Rainbows! для дивні речі Єдиноріг зазнає невдачі на:
* 3-учасник API (до послуг поза вашого контролю / LAN)
* Споживачі OpenID (постачальникам поза вашого контролю / LAN)
* Зворотній проксі реалізацій з редагуванням / цензурі (у верхів'ях поза вашого контролю / LAN)
* Comet
* BOSH (з повільними клієнтами)
* Сервер поштовх HTTP
* Довгі опитування
* Reverse Ajax
Rainbows також може бути використаний для обслуговування повільні клієнтів навіть при швидкому додатків з використанням моделі Rev паралелізму.
установки:
Ви можете завантажити архів зі сторінки Rainbows проекту на RubyForge і запустити setup.rb після його розпакування:
rubyforge.org/frs/?group_id=8977
Ви також можете встановити його за допомогою Rubygems на RubyForge:
І NBSP; перлиною встановити веселки
Застосування:
Для монтажу в стійці додатків
У APP_ROOT (де config.ru знаходиться), виконайте:
і NBSP; веселки
Rainbows! буде пов'язувати всі інтерфейси на TCP порт 8080 за замовчуванням.
Конфігурація файл (и)
Rainbows! буде шукати файл config.ru використовується rackup в APP_ROOT.
Для розгортання, він може використовувати конфігураційний файл для Єдиноріг і Rainbows! -специфічні Опцій, вказаний параметром командного рядка --config-файлу / -с. Rainbows! приймає всі можливі варіанти, знайдені в Єдинорога :: Configurator, а також і ldquo ;! Rainbows & rdquo; блок, так що ви можете мати наступне у вашому файлі конфігурації:
І NBSP; Rainbows! зробити
І NBSP; використання: Revactor
І NBSP; worker_connections 400
. & NBSP; кінець
Особливості
- Призначений для монтажу в стійку стандарту для сучасних додатків Рубін HTTP
- Побудований на єдинорога, наслідуючи своїх можливостей управління процесами / Socket таких як прозорі оновлення та Рубі конфігурації DSL.
- Як з єдинорогом, він здатний передавайте великі тіла запиту від розетки для програми, клієнт як і раніше завантаження. З Rainbows! може обробляти повільні клієнтів, ця функція є більш корисним, ніж з Єдинорога.
- Зернозбиральні комбайни суперважкій паралелізм (робочих процесів) з легкими паралелізму (Учасники або потоки), що дозволяє CPU / пам'яті / диска для масштабування незалежно від клієнтських підключень. Альтернативні моделі паралелізму (перераховані в TODO) буде підтримуватися як ми знаходимо час для них.
Що нового У цьому випуску:
- Цей реліз додає угон підтримку користувачів Rack 1.5.x. См Rack документацію для отримання додаткової інформації про захоплення. Лін Джен-Шин також за умови, що / -N - варіант не за замовчуванням, Middleware. Невеликі упаковки з очищення території і нові ЗЛОМ документа.
- Є також деякі наріжним разі виправлення для * Epoll * Користувачі (sleepy_penguin, ці помилки не впливають на ЕМ або користувачів Cool.io) і поліпшення люкс переносимості тест.
Що нового у версії 4.4.3:
- Цей реліз виправляє дві EventMachine виправлення Лінь Женьмінь шин і Марк Дж Титоренко. Є також деякі незначні з очищення території.
Що нового у версії 4.4.2:
- Один Виправлення дозволяє потік (: keep_open) в Сінатри щоб працювати належним чином.
Що нового у версії 4.4.1:
- Волоконно-даних варіантів паралелізму виключає негативні інтервали сну. Завдяки Лін Джен-Shin за вказівку на це.
Що нового у версії 4.4.0:
- Для Epoll / моделі паралелізму Cool.io основі , відключення () тепер використовується для тайм-ауту залишайся в живих клієнтів, щоб уникнути стану гонки.
- Зроблені невеликі поліпшення в документації.
Що нового у версії 4.3.1:
- Цей реліз виправляє потенційну повторної входимость тупик при використанні За замовчуванням реєстратор із стандартної бібліотеки Ruby.
Що нового у версії 4.3.0:
- застарілі Rainbows :: HttpResponse клас, нарешті, пішов Завдяки Pratik Найк. Ведення журналу помилок більше узгоджуються зі змінами в єдинорога 4.1.0. Є також незначні оновлення документації. См єдиноріг 4.1.0 примітки до випуску для більш докладної інформації: http://bogomips.org/unicorn.git/tag/?id=v4.1.0
Що нового у версії 4.0.0:
- Rainbows! Тепер ваги в більш ніж 1024 робочих процесів без особливих привілеїв. Для включення цього Райдуги! тепер залежить від Unicorn 4.x і, таким чином, краплі дощу [1].
- директива client_max_header_size додається обмежити кожного клієнта використання пам'яті в заголовках.
- експериментальна опція паралелізму StreamResponseEpoll в даний час існує в буфер вихідні відповіді без будь-яких поточно-залежностей. На відміну від інших Rainbows! який працює відмінно без Nginx, ця опція паралелізму / тільки / підтримується за Nginx, навіть сильніше, ніж самого Єдинорога. клієнтам, які не Nginx ЛВС не дозволені для цього. Це залежить від sleepy_penguin [2] RubyGem (і Linux).
- Є деякі дрібні виправлення і поліпшень все навколо.
Що нового у версії 3.4.0:
- SIGQUIT (коректного завершення) тепер падає простою клієнтів залишайся в живих для моделей паралелізму, де підтримка холостого клієнта відносно недорого: Coolio, CoolioThreadPool, CoolioThreadSpawn, Epoll, EventMachine, XEpoll, XEpollThreadPool, XEpollThreadSpawn .
- Kgio.autopush тепер працює коректно для всіх багатопоточних моделей паралелізму (якщо ви використовуєте: tcp_nopush).
- локаллю Виправлення Grep
- T0044: збільшення випробування надійності
- try_defer: включити документацію
- xepoll_thread_pool / клієнт: поліпшити підтримку autopush
- .gitignore: Додати теги / мітки файлів
- додати тести для Kgio autopush на Linux
- додати тест для SIGQUIT відключення
- event_machine: від'єднайте простою клієнтів на на SIGQUIT
- клієнт: використовувати kgio_write по всіх напрямках
- Coolio * + * Epoll *: падіння залишайся в живих клієнтів на SIGQUIT
- Epoll / xepoll: більш послідовним Для клієнтів
- Doc: рекомендувати io_splice 4.1.1 або новішої версії
Вимоги
- Рубін
Коментар не знайдено