Управление активами в кластерной среде

У меня есть система управления контентом, работающая на веб-сервере, которая, помимо прочего, позволяет пользователю загружать на сервер такие ресурсы, как изображения, файлы и т. Д.

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

У меня есть вопрос:

Будут ли ресурсы загружаться на один сервер каждый раз? Или есть вероятность, что изображения / файлы попадут на сервер1 или сервер2 в зависимости от нагрузки?

Как мне обслуживать изображения, если я не знаю, на каком сервере они заканчиваются? Должен ли я сохранять каталоги этих ресурсов (изображений / файлов) синхронизированными между двумя серверами?

Спасибо,

1 ответ

Решение

Синхронизация - сложная задача для взлома. Вы можете выполнить синхронизацию ad-hoc с помощью Couchdb, но это требует хорошего знания проблем низкого уровня. Поэтому вам нужно выбрать мастер записи.

DRDB

Вы можете посмотреть на DRDB: D Используйте один сервер в качестве мастера записи, а другой - в качестве ведомого. Тогда вы можете сервер контента от обоих. Этот подход удивителен для пар базы данных.

Примечание: разделение вашего кода и URL-адресов для записи-master и только для обслуживания будет раздражать

CouchDB

Вы могли бы использовать couchdb, но я думаю, что это может быть излишним. Это для БОЛЬШИХ объемов данных и высокого уровня отказоустойчивости.

NFS

Вы можете экспортировать каталог ресурсов на мастер записи как диск nfs и импортировать его с другого компьютера. Но в этом случае он не будет сбалансирован по нагрузке во всех случаях, то есть, только если файлы кэшируются ведомым. Вы можете использовать третий компьютер в качестве NFS-сервера - это позволит вам масштабироваться до большего количества веб-серверов.

Центральный NFS-сервер может быть вашим лучшим решением, поскольку вы можете обойтись без мастера записи, поскольку каждый интерфейсный сервер может выполнять записи. Это подход, который я бы использовал, если не собираюсь обойти диапазон петабайт:P

Другие вопросы по тегам