Rainbows! on HTTP-palvelin unelias Rack sovelluksiin. Se perustuu Unicorn, mutta suunniteltu käsittelemään sovelluksia, jotka odottavat kauan pyyntö / vasteajat ja / tai hidas asiakkaita. Teline sovellukset eivät voimakkaasti sido hidas ulkoinen verkko riippuvuudet, pitävät Unicorn sen sijaan se yksinkertaisempi ja helpompi debug.
Rainbows! on kummallisia asioita Unicorn epäonnistuu:
* 3rd-party API (palvelujen ulkopuolella ohjaus / LAN)
* OpenID kuluttajat (palveluntarjoajiin ulkopuolella ohjaus / LAN)
* Käänteinen proxy toteutusten kanssa editointi / sensurointi (ja ylävirtaan ulkopuolella ohjaus / LAN)
* Comet
* BOSH (hidas asiakkaita)
* HTTP-palvelin push
* Pitkä äänestyspaikoilla
* Käänteinen Ajax
Rainbows voidaan käyttää myös huoltaa hidas asiakkaita jopa nopeassa sovellusten Rev samanaikaisuuden malli.
Asennus:
Voit ladata pakettia alkaen Rainbows hankkeen sivu Rubyforge ja ajaa setup.rb pakkauksesta purkamisen jälkeen:
rubyforge.org/frs/?group_id=8977
Voit myös asentaa sen kautta Rubygems päälle Rubyforge:
& Nbsp; helmi asentaa sateenkaaria
Käyttö:
Rack sovellukset
Vuonna APP_ROOT (missä config.ru sijaitsee), suorita:
& Nbsp; sateenkaaria
Rainbows! sitoutuvat kaikki liitännät TCP-porttiin 8080 oletuksena.
Configuration File (s)
Rainbows! etsii config.ru tiedoston käyttämä rackup vuonna APP_ROOT.
Saat käyttöönottoja, se voi käyttää config-tiedosto Unicorn ja Rainbows! Erityisiä vaihtoehtoja määrittelemä --config-tiedosto / -c komentorivivalitsinta. Rainbows! hyväksyy kaikki vaihtoehdot löytyvät Unicorn :: Configuratorissa sekä & ldquo; Rainbows! & rdquo; lohko, joten voit olla seuraavat teidän config tiedostoon:
& Nbsp; Rainbows! tehdä
& Nbsp; käyttö: Revactor
& Nbsp; worker_connections 400
& Nbsp; lopussa
Ominaisuudet :
- Suunniteltu Rack, standardi modernin Ruby HTTP sovelluksia.
- Rakennettu Unicorn, peritäänkö se prosessi / socket hallintaominaisuudet kuten avoin päivityksiä ja Ruby kokoonpano DSL.
- Kuten Unicorn, se pystyy stream suuri pyyntö elimet pois pistorasiasta soveltamista, kun asiakas vasta lataamalla. Koska Rainbows! voi käsitellä hidas asiakkaita, tämä ominaisuus on enemmän hyötyä kuin se on yksisarvinen.
- Yhdistää raskaansarjan samanaikaisuuden (työntekijän prosessit) kevyt samanaikaisuuden (Actors tai Langat), jonka avulla CPU / muisti / disk skaalata riippumatta työasemayhteyttä. Vaihtoehtoinen samanaikaisuuden mallit (lueteltu TODO) tuetaan niin löydämme aikaa heille.
Mitä uutta strong> tässä julkaisussa:
- Tämä julkaisu lisää kaappauksesta tuki Rack 1.5.x käyttäjille. Katso Rack asiakirjat lisätietoja kaappauksesta. Lin Jen-Shin myös N / - no-default-middleware vaihtoehto. Minor pakkaus puhdistuksia ja uusia HAKKEROINNILTA asiakirja.
- On myös joitakin corner-tapauksessa bugikorjauksia varten * epoll * käyttäjiä (sleepy_penguin, nämä bugit eivät vaikuta EM tai Cool.io käyttäjät) ja Test Suite siirrettävyys parannuksia.
Mitä uutta strong> versiossa 4.4.3:
- Tämä julkaisu korjaa kaksi EventMachine bugikorjauksia Lin Jen- Shin ja Mark J. Titorenko. On myös joitakin pieniä puhdistuksia.
Mitä uutta strong> versiossa 4.4.2:
- Yksi vikakorjaus mahdollistaa stream (: keep_open) in Sinatra toimii toivotusti.
Mitä uutta strong> versiossa 4.4.1:
- Kuitupohjaiset samanaikaisuuden vaihtoehtoja vältetään kielteiset nukkua välein. Kiitos Lin Jen-Shin huomautti tästä.
Mitä uutta strong> versiossa 4.4.0:
- Jotta epoll / Cool.io perustuva samanaikaisuuden mallit shutdown () käytetään nyt timeout keepalive asiakkaita välttämään kilpailutilanteita.
- Pieniä asiakirjat parannuksia tehtiin.
Mitä uutta strong> versiossa 4.3.1:
- Tämä julkaisu korjaa mahdolliset reentrancy umpikujaan käytettäessä Oletuksena metsuri Ruby standardin kirjasto.
Mitä uutta strong> versiossa 4.3.0:
- vanhentunut Rainbows :: HttpResponse luokka on vihdoin mennyt kiitos Pratik Naik. Puunkorjuu virheitä on enemmän sopusoinnussa muutoksia yksisarvinen 4.1.0. On myös pienehköjen päivityksiä. Katso yksisarvinen 4.1.0 Release Notes lisätietoja: http://bogomips.org/unicorn.git/tag/?id=v4.1.0
Mitä uutta strong> versiossa 4.0.0:
- Rainbows! nyt skaalautuu yli 1024 työntekijää prosesseista ilman erikoisoikeuksia. Tämän mahdollistamiseksi Rainbows! riippuu nyt Unicorn 4.x ja siten sadepisarat [1].
- client_max_header_size direktiivin lisätään rajoittaa per-client muistin käyttö otsikoita.
- kokeellinen StreamResponseEpoll samanaikaisuuden vaihtoehto nyt olemassa puskuri lähtevän vastauksia ilman ketju turvallinen riippuvuudet. Toisin kuin muualla Rainbows! joka toimii hyvin ilman Nginx, tämä samanaikaisuuden vaihtoehto on / vain / tuettu takana Nginx, vielä voimakkaammin niin kuin Unicorn itse. ei-Nginx LAN asiakkaita ei tue tätä. Tämä perustuu sleepy_penguin [2] RubyGem (ja Linux).
- On joitakin pieniä korjauksia ja puhdistuksia ympäri.
Mitä uutta strong> versiossa 3.4.0:
- SIGQUIT (siro shutdown) nyt putoaa tyhjäkäynnillä keepalive asiakkaita varten samanaikaisuuden malleja, joissa säilytetään käyttämättömänä asiakas on suhteellisen edullista: Coolio, CoolioThreadPool, CoolioThreadSpawn, epoll, EventMachine, XEpoll, XEpollThreadPool, XEpollThreadSpawn.
- Kgio.autopush toimii nyt oikein kaikkiin monisäikeinen samanaikaisuuden mallit (jos käytät: tcp_nopush).
- locale korjaus grep
- t0044: lisäys testin luotettavuus
- try_defer: mahdollistavat asiakirjat
- xepoll_thread_pool / asiakas: parantaa autopush tuki
- .gitignore: lisää tageja / Symbolit Tiedostot
- lisää testejä Kgio autopush Linux
- lisää testi SIGQUIT katkaista li>
- event_machine: irrota idle asiakkaita koskevat SIGQUIT
- asiakas: käytä kgio_write kautta linjan
- Coolio * + * epoll *: drop keepalive asiakkaita SIGQUIT
- epoll / xepoll: johdonmukaisempi client toteutuksia
- doc: Suosittelen io_splice 4.1.1 tai uudempi
Vaatimukset :
- Ruby
Kommentteja ei löytynyt