У меня есть два сервера, на которых будут размещены два экземпляра приложения с балансировкой нагрузки. Пользователи могут загружать фотографии в папку /photos
на любом из серверов.
Итак, вопрос в том, как синхронизировать два сервера, чтобы обе папки всегда были актуальными для пользователей?
Вы можете заглянуть в GlusterFS.
GlusterFS - это распределенная система, которая позволяет данным жить во многих местах. Файловая система обрабатывает синхронизацию. По сути, то, что вы хотите, - это реплицированная файловая система Gluster с двумя блоками. Когда вам нужно масштабировать, вы можете просто добавить кирпичи в вашу среду Gluster.
Кроме того, Gluster обладает некоторыми полезными функциями, поэтому, если вам по соображениям производительности требуется больше серверов, вы можете указать, что все данные должны записываться как минимум в два места, но не более. Данные будут доступны везде, где смонтирована GlusterFS.
Вместо описания различных режимов Gluster я предлагаю вам взглянуть на описание архитектуры, которое они предоставляют , который имеет некоторую информацию о том, как его настроить.