Рельсы, скрепки и балансировщик нагрузки - PullRequest
3 голосов
/ 19 мая 2011

Я нормально использовал плагин Paperclip для моего приложения Rails для управления изображениями аватаров моего пользователя в файловой системе.

Теперь я должен выполнить балансировку нагрузки, которая заставит меня поместить изображение в какое-то центральное место для общего доступа к нескольким серверам.

Я обнаружил, что Paperclip не может перейти к хосту пользовательских ресурсов. Скрепка может сделать S3, но я ищу альтернативный путь, не используя S3. Есть идеи, ребята?

Ответы [ 2 ]

2 голосов
/ 19 мая 2011

Скрепка поддерживает Fog, см. /Lib/paperclip/storage/fog.rb и http://fog.io. С их сайта:

Если вам нужны вычисления, dns, хранилище или множество других сервисов, fog предоставляет доступную точку входа и обеспечивает совместимость между сервисами.

1 голос
/ 19 мая 2011

Я использую Carrierwave для загрузки на S3, поскольку наш хост Heroku позволяет хранить файлы только удаленно. Тем не менее, вы также можете использовать Carrierwave для загрузки в другие сервисы хранения, такие как Rackspace. Изначально, как и у вас, у меня были проблемы с балансировкой нагрузки. Поскольку при загрузке файла теоретически приложение зависает до завершения загрузки.

Я нашел способ обойти это, загрузив напрямую в наш сервис хранения с использованием javascript. Для этого я специально использовал jQuery и Uploadify . Прямая загрузка не занимает весь поток http, который в значительной степени выравнивает баланс нагрузки на сервере.

Я бы посоветовал, если вы все-таки решите использовать Paperclip, - загрузить непосредственно в службу хранения (или даже на свой собственный сервер, если ваш серверный хост позволяет это), используя javascript, а затем назначить файл загрузчику Paperclip. .

Надеюсь, это поможет.

...