Ni55aN
@Ni55aN

Разгрузка сервера?

С целью минимизации нагрузки на сервер (и уменьшения объема трафика) ищу способы, которые позволили бы это сделать в Веб-приложении, принцип работы которого в следующем:
- на клиенте загружается и формируется 3D сцена
- в каждую секунду времени загружается большое количество моделей
- модели кэшируются на стороне пользователя
- можно генерировать некоторые данные у клиентов, чтобы не хранить на сервере

Если в сети находятся пользователи, в одного из которых есть необходимые файлы, которые нужны другому пользователю, то почему бы их не скачать оттуда, а не обращаться постоянно к серверу? Тем более, на сервере можно не хранить то, что можно сгенерировать на стороне клиента, и передавать это по тому же принципу (только еще стоит рассмотреть вопрос безопасности), а надеяться на кэширование в остальной сети (у провайдеров или еще где-то) точно не стоит.

Сразу вспомнил про принцип работы торрента, и по этому вопросу перешел к P2P. Оказывается, в браузере уже давно есть поддержка, значит можно передавать между пользователями любые данные (а не только видеопоток).

Немного подробностей о задаче в этом вопросе.

На сколько правильная и осуществима такая идея? В сети теории начитался, но хотелось бы узнать о живых примерах и опыте
  • Вопрос задан
  • 395 просмотров
Пригласить эксперта
Ответы на вопрос 2
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
- на клиенте загружается и формируется 3D сцена
откуда загружается? С локального хранилища или с сервера?
- в каждую секунду времени загружается большое количество моделей
а вы, я смотрю, не плюшками балуетесь, чем-то потяжелее... Так как вы явно серьезный игродел, "большое количество" это не 3-5, это 20-100 штук. Ок, за 10 секунд передастся от 200 до 1000 моделей. за минуту игры мы, я полагаю, увидим на игровом поле около 6000 моделей(если повезет). На разработку 1 модели у среднего 3Дшника уйдет от 15минут до 15 суток, в зависимости от сложности. Допустим, это не сложные модели, скажем, на пол часика работы. 6000 моделей будет делать 3000 часов 1 чел. ~500 рабочих дней. Игра у вас на сколько длинная?
- модели кэшируются на стороне пользователя
согласно предыдущему пункту, не у всех винта хватит на пол часа игры.
- можно генерировать некоторые данные у клиентов, чтобы не хранить на сервере
да уж пожалуй, а то вон, в варкрафте, лохи то близзардовские, все ресурсы тупо скинули на комп клиенту, и передают координаты и положение, как дети, чесслово.
Если в сети находятся пользователи, в одного из которых есть необходимые файлы, которые нужны другому пользователю, то почему бы их не скачать оттуда, а не обращаться постоянно к серверу?[...]..а надеяться на кэширование в остальной сети (у провайдеров или еще где-то) точно не стоит.
да, провайдеры они такие провайдеры, и скорость у них никакая, и канал наружу гораздо меньше чем у Василия Пупкина, да не будет же у Васи лагать игра, когда я и еще 7 человек начнут качать с него "в каждую секунду большое количество моделей".
Ответ написан
Tiendil
@Tiendil
Разработчик ПО.
Используйте https://en.wikipedia.org/wiki/Content_delivery_network и не парьтесь чёрной магией.

Например можно амазоновскую взять: docs.aws.amazon.com/AmazonCloudFront/latest/Develo...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы