Павел Кудинов из "Точки Кипения" об архитектуре серверной части онлайн-игр:
Это доклад с конференции разработчиков высоконагруженных систем HighLoad++. Ключевые слова: нужен ли Memcached+SQL+Apache, KISS, перфекционизм. На странице доклада есть также видео-запись, без которой показанная выше презентация не будет полной.
После идущей за этим постом статьи Анатолия Ропотова, я сейчас пишу это и чувствую себя как полный пионер.
![Флэш Потрошитель - Флэш & Флекс, rost[ухо]flash-ripper.com](/sites/all/themes/fripper/logo.png)
Найдены баги:
Да уж..
"Я этого сам не пробывал, но вам советую так сделать" - отличный совет от докладчика.
Да ещё.
). Так вот такого варианта я в докладе не услышал. А он есть самый производительный.
Мы сейчас делаем онлайновую игру на флексе. Так вот мы юзаем messaging. Сервер нужен только для сообщения играющих клиентов и сохранения/записи данных. Сама логика обрабатывается на клиенте (это же RIA
Мысль неплохая, но не все можно переложить на клиента, в частности, бизнес-логику — большой риск.
Типа геймер взломает swf-ролик и увидит алгоритмы бизнес-логики? Не выйдет! Эти алгоритмы хранятся на сервере и выполняются реал-тайм - то есть даже классов нет таких скомпиленных
Звучит интересно. Вы уже думали об использовании нового функционала Flash Player 10 (peer-2-peer)?
Думали.
С одной стороны, это очень вкусно - снабдить клиентов логикой и адресами друг-друга и пусть сами, в обход сервера играют. Останется лишь сохранять некие результаты-данные в базе.
С другой стороны, есть большое препятствие в такой архитектуре - фаерволы. Ведь р2р - это какой-то там порт случайный на одной стороне и на другой. Но как правило, у юзеров открыты только 80, 21, 443 наружу и ещё несколько для локальных сетей. Это значит, что без специальной дополнительной настройки, такая архитектура при всех своих плюсах очень теряет.
Ролики с логикой грузятся клиентом с сервера и выполняются на машине клиента?
Нет. Логика лежит в базе в виде строк кода, который выполняется на клиенте при инициализации апп. По сути - это классы с логикой авторизации, боя и прочих приватно-секретных функций игры. Грузится это через секретный (https) AMF.