Вопрос

Мы создаем социальную игру с массовым участием.Мы ожидаем до 1 миллиона одновременных пользователей.Игра ведется не в реальном времени, а в пошаговом режиме.Нам нужен надежный обмен сообщениями между нашими клиентами и сервером, предпочтительно по протоколу HTTP.

Помимо многопользовательской функции, нам также понадобится служба доставки контента.

Не могли бы вы, пожалуйста, порекомендовать нам серверную технологию, чтобы мы начали поиск подходящих людей для найма?

Правильно ли предположение, что ни один сервер не будет выдерживать такой объем нагрузки, поэтому он должен масштабироваться горизонтально?

Справится ли Windows Azure с этой задачей?

Заранее благодарю.

Это было полезно?

Решение

[цитата] миллион одновременных пользователей НИ в коем случае НЕ ЯВЛЯЕТСЯ реальным числом [/quote]

Есть игры, которые обладают таким параллелизмом, и многое другое.Большинство популярных игр Facebook так и делают, пока проводят свои 15 дней на солнце.Тем не менее, необходимость решать эту проблему - приятная проблема :-)

Вероятно, такую систему можно написать в Azure, но вы, вероятно, будете пилотировать в неизведанных водах, и вам также придется заплатить Microsoft за хостинг.Сравните цены, например, с Amazon ECC, и, возможно, другой подход был бы лучше.

Следует рассмотреть другие технологии, в зависимости от того, что вы действительно пытаетесь сделать:- J2EE - Эрланг/OTP - Python/Скрученный Кроме того, часто задаваемые вопросы по сетевым и многопользовательским играм gamedev.net: http://www.gamedev.net/community/forums/showfaq.asp?forum_id=15

Другие советы

Хммм...игры, параллелизм, сервер?

G-WAN (200 КБ, полные сценарии ANSI C включенный).

Это лучший кандидат - на сегодняшний день.И это позволяет вам расти горизонтально с балансировкой нагрузки с течением времени (в день отправки игры у вас не будет 1 миллиона пользователей).

Я знаю, что они работают с апплетами (на стороне клиента), поэтому вам может быть полезно задать им этот вопрос.

Правильно ли предположение, что ни один сервер не будет выдерживать такой объем нагрузки, поэтому он должен масштабироваться горизонтально?

ДА.Это зависит от того, сколько работы приходится выполнять серверу на одного человека, но я бы сказал, что для 1 миллиона одновременных пользователей потребуется более одного сервера.

Справится ли Windows Azure с этой задачей?

Windows Azure предоставит компьютеры и хранилище за определенную плату.Вы должны предоставить программное обеспечение и убедиться, что оно может масштабироваться по горизонтали.

Правильно ли предположение, что ни один отдельный сервер не будет поддерживать такой объем нагрузки, поэтому он должен масштабироваться горизонтально?

Нет, это предположение нао авалида.Существуют серверы с процессорами HUGH - 1000+ (не в кластере).Кроме того, миллион одновременных пользователей НИ в коем случае НЕ ЯВЛЯЕТСЯ реальным числом - это было бы слишком большой долей одновременных пользователей Facebook.И это полностью не зависит от того, что вы делаете в своей игре.Пошаговыми могли бы быть шахматы, и у меня не возникло бы проблем с размещением 1.000.000 одновременных шахматных досок на высококлассном сервере, скажем, с 256 ГБ памяти.

Однако на самом деле вы, возможно, будете масштабироваться горизонтально.Во-первых, нет смысла содержать миллион человек в одной игре / мире (даже eve online масштабируется горизонтально по солнечной системе), во-вторых, это, вероятно, дешевле, чем покупать супер большой компьютер.

Справится ли Windows Azure с этой задачей?

Хахаха.Серьезно.Масштабирование по горизонтали - да.

  • Посмотрите на цену, рассчитайте стоимость аренды на месяц, сравните с выделенным сервером и посмеивайтесь по дороге в магазин.Хорошо для очень разной нагрузки, плохо для базовой.

  • Сравните сервер среднего класса (8-12 ядер, 64 ГБ оперативной памяти) с экземпляром Azure, и ясно, что ОДИН экземпляр Azure не будет сравняться.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top