- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
hostmaster, поддерживаю.
Добавлю, что при проектировании изначально закладывается множество серверов для отдачи статики (физических, тюненых под задачу) и один (несколько) для заливки и распределения новых картинок по серверам раздачи. Такое решение даже при развёртывании на одной машине при старте проекта позволит в будущем безболезненно разделиться на несколько железяк, в т.ч. и в разных датацентрах.
Как уже говорилось ранее, сервера раздачи могут расшарить свои диски по NFS для сервера приёма/распределения файлов, который при заливке так же будет вести записи в базе (какой файл на каком сервере-хранилище находится). Это в простейшем, наколенном варианте.
Далее могут быть несколько серверов-диспетчеров, реплицируемые БД, множество серверов-хранилищ с перекрёстным резервированием данных и т.п. Как-то так... :)
Только не NFS!
Достаточно хорошо показывает себя распихивание контента через WEBDAV, в nginx встроена поддержка.
Из примитивного - через upload_module того же nginx заливать сразу на сервер-сторидж.
Только не NFS!
а чем NFS плохой?
kostich добавил 01.06.2011 в 06:42
Как уже говорилось ранее, сервера раздачи могут расшарить свои диски по NFS для сервера приёма/распределения файлов, который при заливке так же будет вести записи в базе (какой файл на каком сервере-хранилище находится). Это в простейшем, наколенном варианте.
в самом простейшем варианте URL файла кодируется хэшем из которого системе можно понять где он хранится без какого либо запроса к СУБД. небольшой скриптик для реврайта и чуйствуйте себя ютубом. ну и вообще вот этот отдельный сервер-хранилище, отдельный балансер... прошлый век какой-то... 🍿
Далее могут быть несколько серверов-диспетчеров, реплицируемые БД, множество серверов-хранилищ с перекрёстным резервированием данных и т.п. Как-то так... :)
между несколькими серверами рекомендуют поставить несколько балансеров... и еще весь тот бред, который реально не может линейно массштабироваться. в итоге для раздачи 200-300 мегабит разной какашки городят большую инфраструктуру... благо хоть людям работу дают.
kostich добавил 01.06.2011 в 06:52
- у "больших" сайтов url для статики обычно короткий, чтобы съэкономить еще несколько байт текста
там задача экономить байты не стоит. в урл сидит хэш из которого можно понять где этот файл хранится. из буковок получается нужное кол-во циферок, далее система обращается к достаточно короткому статичному индексу и получает путь к файлику. как у ютубов там внутри не совсем представляю, но лично у меня всё это так сделано. более дешевого способа для раздачи файлов под некрасивым url я не знаю. с красивым url примерно тоже самое, но чуть сложнее.
ps. про хэш повторил дважды... мож дойдет :)
а чем NFS плохой?
Он там просто лишний
Он там просто лишний
почему? если я бы раздавал с 3х серверов и балансил по хэшу, то временно бы подержал бы на нфс. в нфс как минимум кэш блоковый есть. сервер-сторадж и сервер-диспетчер в одном флаконе.
kostich добавил 01.06.2011 в 09:17
мы еще не знаем сколько миллиардов фоток ему раздавать. помню в великие времена innd с инодами дефицит был... сейчас легше, но эффективность многих процессов от кол-ва мелких файлов снижается.
в самом простейшем варианте URL файла кодируется хэшем из которого системе можно понять где он хранится без какого либо запроса к СУБД.
Не уверен, что правильно понял вашу идею.
То есть вы предлагаете, что бы ссылки на картинки были в таком виде?
http://site.ru/918a4c8b3a84d763
где 918a4c8b3a84d763 – md5 от реального пути к папке сервера.
Что это даст?
Как сервер по хэшу md5 восстановит реальный путь к файлу?
На моем фото-сайте ссылки на картинки имеют такой вид.
http://site.ru/834/174/834174948.jpg
834174948 – уникальный номер картинки, он же является первичным ключом в базе даных, в которой хранится информация о картинке(комментарий, идентификатор владельца)
/834/174/ - путь к нужной папке сервера, в которой лежит файл картинки.
kostich, ключевые слова - горизонтальное масштабирование. nfs там не нужен в принципе.
zexis, например в nginx: securelink :)
Не уверен, что правильно понял вашу идею.
То есть вы предлагаете, что бы ссылки на картинки были в таком виде?
http://site.ru/918a4c8b3a84d763
где 918a4c8b3a84d763 – md5 от реального пути к папке сервера.
Что это даст?
Как сервер по хэшу md5 восстановит реальный путь к файлу?
зачем ему настоящее имя файла фото или видео после аплоада? там где-то в юзерской панели оставить можно, а для раздачи оно уже не суть важно. ну и зачем на md5 кидаться... у вас миллиарды фото? это может быть вообще не хэш, а ID файла в системе разадчи... из ID всё вынимается без лишних заглядываний в базу.
На моем фото-сайте ссылки на картинки имеют такой вид.
/834/174/ - путь к нужной папке сервера, в которой лежит файл картинки.
а если серверов 100?
kostich добавил 01.06.2011 в 13:26
kostich, ключевые слова - горизонтальное масштабирование. nfs там не нужен в принципе.
Андрей, и что у меня там нелинейно? Ты видел хоть сервер где штук 500 разделов подмаунчено? Вот перемаунтишь 100 серверов каждый с каждым по NFS, следовательно NFS сервер будет на каждом... можешь 500 :) до каких размеров линию проводим? Вы там на сколько гигабит собрались раздавать?
а кто использовал MogileFS? (это специально сделали для картинок, вродебы можно и видео)
с бэкапами проблем нету и т.д.??
не требует райд и можно обычные сата диски
Оно там тоже лишнее :)
Andreyka добавил 01.06.2011 в 16:50
Андрей, и что у меня там нелинейно? Ты видел хоть сервер где штук 500 разделов подмаунчено? Вот перемаунтишь 100 серверов каждый с каждым по NFS, следовательно NFS сервер будет на каждом... можешь 500 :) до каких размеров линию проводим? Вы там на сколько гигабит собрались раздавать?
Для фотохостинга NFS не нужен в принципе. Каждый сервер может отдавать свои файлы сам 🤣