Проектирование серверной части сервиса
Привет Всем!
Необходим грамотный сисадмин, который спроектировал бы freebsd сервер высоких нагрузок, с дальнейшей возможностью его поддержки.
Сервер необходим для интернет сервиса, который будет отдавать большие файлы (1 - 8 гигов) по http. Предполагаемая суточная аудитория около 2000 человек. В день тянуть будут около 300 файлов средним размером 1.5 ГБ.
Что необходимо сделать?
1.Дать рекомендации по оптимальной конфигурации сервера (серверов) + raid. А также рекомендации по подключению (сколько ипшников, сколько портов, какой канал итд)
2. Установить с нуля и запустить сервер FreeBSD со всеми необходимыми для работы приложениями, такими как nginx например.
3. Разработать программную архитектуру сервера отдачи файлов, которая смогла бы выдерживать относительно высокие нагрузки (около 300 запросов в сутки на отдачу больших (1 - 8 Гб) файлов по фтп либо хттп, одновременная отдача 10 и более файлов). Сервер должен быть спроектирован с перспективой масштабирования в случае увеличения нагрузки на сервер либо при недостатке hdd
4. привязать средства мониторинга, типа Ориана, чтобы наблюдать за состоянием сервака (нагрузка, работоспособность, состояние свободного места на дисках итд) 1
Какова схема отдачи файлов?
1) Пользователь выбирает файл и нажимает «скачать»
2) Идет запрос на аутентификацию юзера
3) генерится ссылка md5 hach
4) на ссылку + пользователя накладываются ограничения:
- ссылка активна в течении 24 часов
- только этот юзер может использовать данную ссылку
- данный файл можно качать только в 1 поток
- еще необходимые ограничения
+ возможность докачки
Максимальное число одновременных закачек для одного пользователя должно задаваться в админке.Также в админке должен устанавливаться лимит на скорость отдачи файла
Все заинтересованые в проекте высылают свои предложения на [email protected].
В письмах должна быть следующая информация:
- ссылки на портфолио
- ориентировочная смета по разработке
- план работ со сроками
+ приветствуются блок схемы с предложениями и рекомендациями (с целью выявления общего урровня разработчиков)