Предстоит мне сделать сервер-сайд для одного мобильного приложения. Бизнес-логика примитивная - найти запрошенный файл и отдать. Нагрузка ожидается немалая, по скромным оценкам, миллион в сутки, и думаю даже больше. Так вот, что я придумал. Запихать весь этот контент в соц-сети. Мысль ясна? Добавлено спустя 3 минуты 7 секунд: проверял вконтакте - он отдает контент по прямой ссылке, без авторизации любому клиенту.
Мобильной софтине придется обращаться к твоему серверу за получением ссылок. Поэтому у тебя все равно будет миллион запросов, а трафика ты сэкономишь немного (к примеру 100 кб X 1.000.000 = <100 мб).
не, это я ведь не всерьез, так... чисто гипотетически. с хайлоадом не доводилось работать в вебе (только в enterprise environment), сейчас вот изучаю вопрос. может кто сориентирует, в какую сторону копать? подозреваю, это будет nginx. никакой базы данных нет, чисто тупо отдать контент. php все-таки планируется для обеспечения клиента обновлениями. что посоветуете? какова цена вопроса такого решения? хотя бы порядок) какие-то может бюджетные альтернативы?
Я к сожалению не могу сказать про запросы снаружи, но один мой серв делает до миллиона загрузок html-страниц из интернета и даже на 2% не грузит. Млн в сутки это же в среднем 11 в секунду, даже если на пике это будет 30 - это не нагрузка для nginx, для статики.
имхо со статкиой можно даже не особо заморачиваться если в пределах 1 страны клиентура, а вот если международный проект, то стоит озадачится созданием cdn.
В случае с социальными сетями, ты становишься сильно зависимым от них. Если контент не имеет сильного значения и в случае падения API/утери данных или ещё чего-нибудь клиент ничего не теряет — это приемлемый вариант. Если же контент имеет практическую ценность, я бы попробовал взять небольшую CDN и отдавать статику оттуда.
Во, спасибо за ответы. Это неплохо совсем. Какая железная начинка все это обсепечивает? Можно ли будет поднять на vps или vds? Будет ли это эффективно? Проект международный, CDN - интересным кажется решением, буду рассматривать тоже как вариант. Сколько по деньгам не сориентируете, если брать из расчета 10 гб контента?
Зависит от маркетинговых терминов. По своей сути CDN - это Content Delivery Network. Т.е распределенная сеть по доставке контента. Многие хостеры, которые предоставляют CDN, так же предоставляют и хранилище для данных, а не только доставку. Плюс CDN в том, что контент одновременно хранится на нескольких серверах, весь контент дублируется, а пользователь получает контент с ближайшего к нему сервера.
Есть такое все в одном http://aws.amazon.com - облачных хостинг называется EC2 а CDN называется CloudFront. Я правда юзал только EC2, но мне очень понравилось юзабилити.
Обоснуете? Я просто рассматривал и такой вариант, хранить в туче. Можно зарегать до фига аккаунтов на амазоне по 5гб (бесплатно), и по мере масштабируемости регать новые аккаунты. Дописать систему обновления и распределения контента, вероятно, централизованную, и свести вообще человеческое участие к минимуму.
Мы для своего проекта рассматривали целые кучи различных облачных сервисов. Остновились в итоге на одном российском — он оказался лучше всех. Амазон плох: — непонятная тарифная политика — сложность управления. Я впал в ужас, когда увидел, сколько информации и документации мне нужно прочитать, чтобы понять, что кроется за их терминологией. Конечно, ничего сложного, просто я привык видеть привычные названия у привычных вещей — далек от РФ -> скорость ниже, чем хотелось бы (критично, если аудитория из СНГ) — в последнее время частенько падает > чем на сутки (низкий аптайм) Этого достаточно оказалось для нас. А, ну ещё платные PUT/POST/GET запросы — это крутяк
Это круто (про яндекс диск). Можно вообще исключить собственную реализацию маппинга контента через веб, и работать как с диском, это реально круто. Остается понять, насколько шустрая эта штука. У гугла кстати тоже есть гугл драйв.
Как думаете, если использовать яндекс-диск в своем проекте на клиенте, короче говоря, много-много клиентов будут подключаться в этому диску... Не будет ли яндех против такого подхода? Что-то не могу найти спецификаций, есть ли ограничения по трафику и тп. Сервис пока в бета-тестировании находится.
Яндекс сам пишет про хранение данных приложений. Там есть регистрация приложения. Как я понял, API для того и создано (а не для личных нужд).
Я думаю, да даже не думаю, а уверен, что будут, пока (на стадии беты) нету соглашения о коммерческом использовании сервиса, но они могут либо резко порезать скорость, либо (что более вероятно) просто прикроют аккаунт.