[ANN] Rainbows! 3.3.0 - Rack server for sleepy apps and slow clients

Discussion in 'Ruby' started by Eric Wong, May 16, 2011.

  1. Eric Wong

    Eric Wong Guest

    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.

    For Rack applications not heavily bound by slow external network
    dependencies, consider Unicorn instead as it simpler and easier to
    debug.

    * http://rainbows.rubyforge.org/
    *
    * git://bogomips.org/rainbows.git

    Changes:

    * improved documentation all around, suggestions/comments to further
    improve documentation is greatly welcome at:

    * added GPLv3 option to the license (now (Ruby|GPLv2|GPLv3), though
    Unicorn is still (Ruby|GPLv2) for now)

    * added client_header_buffer_size config directive (default 1K)

    * small default header buffer size (16K => 1K) to reduce memory usage,
    Rails apps with cookie sessions may want to increase this (~2K)

    * all concurrency models default to 50 connections per process

    * all concurrency models with a secondary :pool_size parameter also
    default to 50 (threads/fibers/whatever)

    * RLIMIT_NOFILE and RLIMIT_NPROC are automatically increased if needed

    * Rainbows::ThreadTimeout middleware rewritten, still not recommended,
    lazy people should be using Unicorn anyways :)

    * Several experimental Linux-only edge-triggered epoll options:
    XEpollThreadSpawn, XEpollThreadPool, XEpoll, and Epoll.
    The latter two were in previous releases but never announced.
    These require the "sleepy_penguin", "raindrops", and "sendfile" RubyGems

    === Deprecations

    * Rainbows::Fiber::IO* APIs all deprecated, Rainbows! will avoid
    having any concurrency model-specific APIs in the future and
    also avoid introducing new APIs for applications.

    * Fiber-based concurrency models are no longer recommended, they're
    too fragile for most apps, use at your own risk (they'll continue to
    be supported, however). Linux NPTL + Ruby 1.9 is pretty lightweight
    and will be even lighter in Ruby 1.9.3 if you're careful with stack
    usage in your C extensions.

    Enjoy!

    --
    Eric Wong
     
    Eric Wong, May 16, 2011
    #1
    1. Advertising

  2. Eric Wong

    Eric Wong Guest

    [ANN] Zbatery 3.3.0 - Rainbows! in one process!

    Zbatery is an HTTP server for Rack applications on systems that either
    do not support fork(), or have no memory (nor need) to run the
    master/worker model. It is based on Rainbows! (which is based on
    Unicorn (which is based on Mongrel)) and inherits parts of each.
    Zbatery supports your choice of all the thread/fiber/event/actor-based
    concurrency models and Rack middleware that Rainbows! supports (or will
    ever support) in a single process.

    * http://zbatery.bogomip.org/
    *
    * git://bogomips.org/zbatery.git

    Changes:

    Like Rainbows! 3.3.0, we've added the GPLv3 to our license
    (in addition to GPLv2 and Ruby terms). See Rainbows! 3.3.0
    release notes and news for more infor on changes:

    http://rainbows.rubyforge.org/NEWS.html

    --
    Eric Wong
     
    Eric Wong, May 16, 2011
    #2
    1. Advertising

  3. Eric Wong

    Eric Wong Guest

    [ANN] Rainbows! 3.4.0 - minor updates and fixes

    Changes:

    SIGQUIT (graceful shutdown) now drops idle keepalive clients for
    the concurrency models where maintaining an idle client is
    relatively inexpensive: Coolio, CoolioThreadPool,
    CoolioThreadSpawn, Epoll, EventMachine, XEpoll,
    XEpollThreadPool, XEpollThreadSpawn.

    Kgio.autopush now works properly for all multi-threaded
    concurrency models (if you're using :tcp_nopush).

    * http://rainbows.rubyforge.org/
    *
    * git://bogomips.org/rainbows.git

    --
    Eric Wong
     
    Eric Wong, May 21, 2011
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Eric Wong
    Replies:
    2
    Views:
    136
    Eric Wong
    Dec 14, 2009
  2. Eric Wong
    Replies:
    0
    Views:
    111
    Eric Wong
    Aug 28, 2010
  3. Eric Wong
    Replies:
    1
    Views:
    105
    Eric Wong
    Oct 28, 2010
  4. Eric Wong
    Replies:
    0
    Views:
    190
    Eric Wong
    Feb 11, 2011
  5. Eric Wong
    Replies:
    0
    Views:
    111
    Eric Wong
    Mar 15, 2011
Loading...

Share This Page