Серверная технология для игры - PullRequest
1 голос
/ 09 декабря 2010

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

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

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

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

Будет ли Windows Azure выполнять эту работу?

Заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 19 декабря 2010

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

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

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

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

0 голосов
/ 02 января 2011

[quote] миллион одновременных пользователей НЕ является действительным числом любым способом [/ quote]

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

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

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

0 голосов
/ 09 декабря 2010

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

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

Хахаха.Шутки в сторону.Горизонтальное масштабирование - да.

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

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

0 голосов
/ 09 декабря 2010

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

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

Будет ли Windows Azure выполнять эту работу?

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

...