Интересует вопрос, продумываю архитектуру.
Имеется несколько серверов для раздачи статики, s1. s2. s3 — например. Есть сервер с бэкендом (main) на котором крутится сам сайт и демон собирающий картинки с интернета (или же эти картинки загружаются пользователями).
На каждом из серверов s1, s2… «висит» некий демон слушающий TCP порт и принимающий статику, у которого есть две команды put и delete.
Пользователь загружает картинку на сервер (main), далее сервер выбирает (как? хеш имени файла? от ID пользователя?) сервер и трех и загружает на него картинку командой «put file.png» в ответ получая полный путь «success /2/4/file.png» который теперь доступен как
s1.hostname.com/2/3/file.png
Плюс можно сделать синхронизацию s1, s2, s4 через rsync между собой (например если один из них отвалится, но как будет выглядеть смена сервера у файлов на main?)
Насколько это криво, велосипедно, etc… какие подводные камни?