Rainbows! is an HTTP server for sleepy Rack applications. It is based on unicorn, but designed to handle applications that expect long request/response times and/or slow clients.
Rainbows! is designed for the odd, corner-case requests that unicorn is poorly suited for.
More scalable concurrency models introduce additional complexity that unicorn users and developers are uncomfortable with for the common cases.
Key Features
- Designed for Rack, the standard for modern Ruby HTTP applications.
- Built on unicorn, inheriting its process/socket management features such as transparent upgrades and Ruby configuration DSL.
- As with Unicorn, it is able to stream large request bodies off the socket to the application while the client is still uploading. Since Rainbows! can handle slow clients, this feature is more useful than it is with Unicorn.
- Combines heavyweight concurrency (worker processes) with lightweight concurrency (Events/Fibers/Actors/Threads), allowing CPU/memory/disk to be scaled independently of client connections.
- Designed for:
- 3rd-party APIs (to services outside your control/LAN).
- OpenID consumers (to providers outside your control/LAN).
- Reverse proxy implementations with editing/censoring (to upstreams outside your control/LAN).
- Comet.
- BOSH (with slow clients).
- HTTP server push.
- Long polling.
- Reverse AJAX.
Website: yhbt.net/rainbows
Support:
Developer: Rainbows! contributors
License: GNU General Public License v3.0
Rainbows! is written in Ruby. Learn Ruby with our recommended free books and free tutorials.
Related Software
| Ruby Application Servers | |
|---|---|
| Puma | Concurrent web server for Ruby and Rack |
| Phusion Passenger | Web server and application server for Ruby, Python and Node.js |
| Falcon | Asynchronous Rack-compatible engine for fast, scalable web traffic |
| pitchfork | Preforking HTTP engine designed for resilience and steady throughput |
| iodine | Lightweight HTTP and WebSocket service built for demanding loads |
| unicorn | HTTP server for Rack applications |
| Itsi | High-performance web serving with efficient request handling |
| Rainbows! | HTTP server for sleepy Rack applications based on Unicorn |
| Agoo | Fast HTTP platform with WebSocket support and very low overhead |
| yahns | Sleepy, multi-threaded, non-blocking application server for Ruby |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.