Qual è la differenza tra cremagliera e guide in metallo (Ruby)?
Domanda
Non capisco!
Rack: http://rack.rubyforge.org/
Rails Metallo: http://weblog.rubyonrails.org/ 2008/12/17 / introducendo-rails-metallo
Ho letto i due articoli ed i miei occhi ho sfocata. Come i due componenti si riferiscono? Gli esempi sarebbero grandi?
Soluzione
Rack è una specifica molto leggero che i server web di Ruby possono implementare. E 'middleware che significa che si trova tra il web server (ad esempio, passeggeri) e Rails.
Rails Metal è un modo di elaborazione di una richiesta HTTP utilizzando Rails per quando è necessario il massimo delle prestazioni. E 'praticamente vi porta fino al metallo e bypassa tutte le normali caratteristiche (e quindi in testa) che il ciclo di richiesta / risposta delle guide standard vi dà. Tecnicamente, Rails Metal è l'implementazione di un gestore rack.
Si può trovare questi due Railscasts sull'argomento informativo:
È possibile ottenere un elenco dello stack middleware rack per un'applicazione Rails utilizzando rake middleware
Altri suggerimenti
Rack è un generico di Ruby API / livello di astrazione che consente diversi framework applicativi integrano un server web.
Rails Metal è l'implementazione di Rails di un gestore rack. Esso comprende non solo un gestore che chiama Rails, ma espone anche la propria API che rende più facile per voi per creare i propri gestori che hanno colpito il server Web e di bypass Rails core.
C'è una grande discussione e un paio di esempi su sito di Jesse Newland :
Quindi, in sostanza, Rails è un metallo involucro sottile intorno nuova Rack Rails’ Supporto middleware . Rack middleware è roba abbastanza potente: componenti del framework indipendente dall'unità richieste di processo indipendente o in concerto con altri middleware.
Oltre alle differenze coperti da altre persone, ho voluto sottolineare che un'applicazione rack potrebbe essere o middleware o un endpoint finale, mentre ActionController::Metal
è sempre un punto finale di un middleware mai.