Масштабирование файловых систем - PullRequest
1 голос
/ 12 ноября 2009

Это может быть и вопрос о сбое сервера, но он также включает в себя темы здесь.

Я создаю новый веб-сайт, который состоит из 6 серверов. 1 mysql, 1 web, 2 сервера обработки файлов, 2 файловых сервера. Короче говоря, серверы обработки файлов обрабатывают файлы и копируют их на файловые серверы. В этом случае у меня есть два варианта;

Я могу настроить веб-сервер для каждого файлового сервера и обслуживать файлы непосредственно оттуда. Например, file1.domain.com/file.zip. Некоторые файлы (не все) требуют аутентификации, поэтому я буду аутентифицировать пользователей через memcache с этих серверов. 90% запросов не требуют аутентификации.

Или я могу настроить NFS и обслуживать файлы непосредственно с веб-сервера, например www.domain.com/fileserve.php?id=2323 (это базовый пример)

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

Настройка будет оставаться неизменной в течение длительного времени, поэтому мы не будем добавлять в нее новые файловые серверы.

Какие у вас идеи, какая из них лучше? Или какая-то другая идея?

Заранее спасибо,

Ответы [ 3 ]

3 голосов
/ 12 ноября 2009

Только я, но я бы фактически поставил набор правил обратного прокси на «веб-сервере», а затем прокси-запросы HTTP (возможно, с балансировкой нагрузки, если они имеют одинаковые файловые системы) обратно на облегченный HTTP-сервер на файловых серверах.

Это дает вам гибкость и возможность реализовать будущее кэширование, ведение журнала, цепочки фильтров, правила перезаписи, аутентификацию & c, & c. Я считаю, что использование веб-сервера в качестве прокси-слоя является очень эффективным решением.

2 голосов
/ 12 ноября 2009

Я рекомендую ваш вариант # 1: разрешить файловым серверам выступать в качестве веб-серверов. Лично я обнаружил, что NFS немного ненадежен при использовании в больших объемах.

0 голосов
/ 12 ноября 2009

Вы также можете использовать сеть доставки контента, такую ​​как simplecdn.com , они могут решить проблему пропускной способности и нагрузки на сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...