Was ist der Unterschied zwischen Rack-und Schienen aus Metall (Rubin)?
Frage
Ich bekomme es nicht!
Rack: http://rack.rubyforge.org/
Rails Metal: http://weblog.rubyonrails.org/ 2008/12/17 / Einbringen-rails Metall
Ich lese die beiden Artikel und meine Augen wurden verschwommen. Wie verhalten sich die beiden Komponenten? Beispiele wären toll?
Lösung
Rack ist eine sehr leichte Spezifikation, die Ruby Web-Server implementieren kann. Es ist Middleware was bedeutet, dass es zwischen dem Web-Server (z Passagier) sitzt in und Rails.
Rails Metal ist eine Möglichkeit, eine HTTP-Anforderung zu verarbeiten Rails für, wenn Sie benötigen die maximale Leistung verwenden. Es dauert fast bis auf das Metall und umgeht alle normalen Funktionen (und damit über Kopf), dass die Standard-Rails' Request / Response-Zyklus gibt Ihnen. Technisch gesehen, Rails Metal ist eine Implementierung eines Rack-Handler.
Sie können diese beiden Railscasts zum Thema informativ
Sie können eine Liste des Rack-Middleware-Stack erhalten für eine Rails-Anwendung rake middleware
mit
Andere Tipps
Rack ist eine generische Ruby-API / Abstraktionsschicht, die unterschiedliche Anwendungs-Frameworks integrieren, um einen Web-Server ermöglicht.
Rails Metal Rails-Implementierung eines Rack-Handler. Es enthält nicht nur einen Handler, die Rails ruft, sondern auch seine eigene API zeigt, die es leichter macht, damit Sie Ihre eigenen Handler zu erstellen, die die Web-Server und Bypass-Kern Rails getroffen.
Es gibt eine große Diskussion und einige Beispiele auf Jesse Newland Website :
Also, im Wesentlichen, Rails Metal ist ein dünne Hülle um Rails’ neue Rack- Middleware-Unterstützung . Rack-Middleware ist ziemlich starke Sache: Rahmen unabhängige Komponenten, Prozessanforderungen unabhängig oder in Konzert mit anderer Middleware.
Zusätzlich zu den von anderen Leuten abgedeckt Unterschieden, wollte ich beachten, dass ein Rack-App entweder Middleware oder ein endgültiger Endpunkt sein könnte, während ActionController::Metal
ist immer ein Endpunkt eines nie Middleware.