Вопрос

Я этого не понимаю!

Стойка: http://rack.rubyforge.org/

Рельсы Металлические: http://weblog.rubyonrails.org/2008/12/17/introducing-rails-metal

Я прочитал эти две статьи, и у меня перед глазами все затуманилось.Как соотносятся эти два компонента?Примеры были бы замечательными?

Это было полезно?

Решение

Rack - это очень легкая спецификация, которую могут реализовать веб-серверы Ruby.Это промежуточное программное обеспечение, что означает, что оно находится между веб-сервером (напримерПассажир) и Рельсы.

Rails Metal - это способ обработки HTTP-запроса с использованием Rails, когда вам нужна максимальная производительность.Это практически сводит вас к металлу и обходит все обычные функции (и, следовательно, накладные расходы), которые предоставляет вам стандартный цикл запросов / ответов Rails.Технически Rails Metal - это реализация обработчика стоек.

Возможно, вы сочтете эти два железнодорожных выпуска на эту тему информативными:

Вы можете получить список стека промежуточного программного обеспечения Rack для приложения Rails с помощью rake middleware

Другие советы

Rack - это универсальный Ruby API / уровень абстракции, который позволяет различным фреймворкам приложений интегрироваться с веб-сервером.

Rails Metal - это реализация обработчика стеллажей Rails.Он включает в себя не только обработчик, который вызывает Rails, но и предоставляет свой собственный API, который упрощает вам создание собственных обработчиков, которые обращаются к веб-серверу и обходят основные Rails.

Там есть отличная дискуссия и несколько примеров по Сайт Джесси Ньюленда:

Итак, по сути, Rails Metal - это тонкая оболочка вокруг новой стойки Rails поддержка промежуточного программного обеспечения.Rack middleware это довольно мощная штука:независимые от фреймворка компоненты, которые обрабатывают запросы независимо или совместно с другим промежуточным программным обеспечением.

В дополнение к различиям, описанным другими пользователями, я хотел бы отметить, что приложение Rack может быть либо промежуточным программным обеспечением, либо конечной конечной точкой, в то время как ActionController::Metal всегда является конечной точкой, а не промежуточным программным обеспечением.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top