2009-04-17 8 views

Antwort

12

Rack ist eine sehr leichte Spezifikation, die Ruby-Webserver implementieren können. Es ist Middleware, was bedeutet, dass es zwischen dem Webserver (z. B. Passenger) und Rails sitzt.

Rails Metal ist eine Möglichkeit zur Verarbeitung einer HTTP-Anfrage mit Rails, wenn Sie die maximale Leistung benötigen. Es bringt Sie virtuell auf den Prüfstand und umgeht alle normalen Funktionen (und somit auch den Overhead), die Ihnen der Anforderungs-/Antwort-Zyklus der Standard-Rails bietet. Technisch gesehen ist Rails Metal eine Implementierung eines Rack-Handlers.

Sie könnten diese beiden Railscasts zum Thema informativ:

Sie eine Auflistung der Rack-Middleware-Stack für eine Rails-Anwendung erhalten können mit rake middleware

+0

Nur um klar zu sein: Es gibt keinen wörtlichen Metall in Rails Metal beteiligt. :) – Peeja

4

Rack ist eine generische Ruby-API/Abstraktionsschicht, mit der verschiedene Anwendungsframeworks in einen Webserver integriert werden können.

Rails Metal ist die Implementierung eines Rack-Handlers durch Rails. Es enthält nicht nur einen Handler, der Rails aufruft, sondern stellt auch seine eigene API zur Verfügung, die es Ihnen erleichtert, eigene Handler zu erstellen, die den Webserver treffen und Core-Rails umgehen.

4

Es gibt eine große Diskussion und ein paar Beispiele auf Jesse Newland's site:

Also, im Wesentlichen ist Rails Metall eine dünne Hülle um neue Rack- Middleware-Unterstützung Rails. Rack-Middleware ist ziemlich mächtig Zeug: Framework-unabhängige Komponenten, die Anfragen unabhängig verarbeiten oder in Konzert mit anderen Middleware.