Мое приложение использует RESTful api для получения запросов от пользователей и создания файлов по запросу. Когда файл был создан, он отвечает ссылкой dl на указанный файл.
Когда это было при настройке одного сервера, мне не нужно было беспокоиться о выборе правильного сервера для загрузки файла, поскольку файл был сгенерирован и сохранен на том же сервере.
Но при настройке с несколькими серверами запрос может быть отправлен на сервер A, сохранен на сервере A, а пользователь подключился к ссылке dl через сервер B (на котором нет файла).
Пока что я придумал пару идей, но мне бы хотелось получить ваш совет о том, что делать и / или как это делают другие сайты.
Идеи:
Вы хотите использовать для этого централизованное хранилище.
Попытка синхронизировать загруженные файлы между серверами в долгосрочной перспективе нецелесообразна. Особенно если приходится иметь дело с большим объемом файлов.
В $ work у нас есть 10 веб-серверов, использующих один и тот же файловый сервер для чтения файлов и сохранения файлов. (Хотя больше читать, чем писать.)
Этот файловый сервер реплицируется на файловый сервер горячего резервирования с помощью DRBD в настройке главный / подчиненный.