Распределенный веб-сайт на основе Rails. Что-нибудь там? - PullRequest
1 голос
/ 06 марта 2011

Мне нужно спроектировать систему, в которой у нас есть центральный веб-сайт Rails для хранения информации о продукте, некоторые из которых - мультимедиа (фотографии, фильмы и т. Д.), И нам нужен способ эффективного доступа к этой центральной информации из серии информации. киоск. Центральная система будет использоваться для обновления и контроля доступа к информации, и киоски будут отображать это в первую очередь без редактирования. Единственный трафик, который может вернуться из киоска на центральный сайт, - это информация об использовании, которая не ограничена в пропускной способности.

Вначале я хотел запустить отдельные серверы Rails в каждом киоске и «как-то» (например, запланированное задание рейка) синхронизировать соответствующий контент с центрального сервера в каждом киоске. Обратите внимание, что на всех киосках не будет одинакового содержимого, так как оно будет зависеть от местоположения. Для размещения контента нам может понадобиться что-то вроде хранилища Amazon S3.

Другим вариантом может быть использование некоторого вида расширенного кэширования (то есть более продвинутого, чем стандартное кэширование в браузере) в каждом киоске, чтобы минимизировать требования к пропускной способности сети и ускорить процесс. Я использовал 'squid' раньше, но только как сервер кэширования сайта общего назначения, я не знаю, сможет ли он подойти к тому, что мне нужно здесь.

Итак, мой вопрос заключается в том, пытался ли кто-нибудь там когда-либо пытаться сделать что-то подобное, и какую архитектуру вы нашли для работы. Мне было бы интересно узнать, есть ли плагины Rails, которые соответствуют моим требованиям и / или какие-либо интеллектуальные серверы кэширования.

Большое спасибо, Крейг.

Ответы [ 2 ]

1 голос
/ 06 марта 2011

Я знаю, что это возможно не для каждого приложения, но вы можете создать статический кэш содержимого и использовать запланированное задание для обновления каждого киоска из этого кэша. Тогда вам не нужно поддерживать серверы rails на каждом.

0 голосов
/ 06 марта 2011

В зависимости от того, что вы используете в киосках, если вам нужно немного больше интерактивности, вы можете запустить sinatra или приложение для кемпинга.Это немного легче, чем рельсы.Вы можете общаться через XML.Если вы используете приложение flash в киоске, посмотрите библиотеку rubyamf.

...