Метро 2033 / Архитектура - 1

Dec 22, 2006 22:01

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


Read more... )

Leave a comment

как я бы стал писать такое приложение... ymik December 23 2006, 02:03:21 UTC
http://ymik.livejournal.com/76563.html

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

Reply

Re: как я бы стал писать такое приложение... oleg_bunin December 23 2006, 02:19:36 UTC
Не полетит.
Даже если не придираться к Java и попытке скрестить ее с Perl и C++.

Как происходит адресация сообщений в JMS? Разбить по модулям мало. Например, одновременно проходит 100 боев, всего игроков в системе - 10 тысяч. Это означает, что количество сообщений, передаваемых в такой системе - несколько тысяч в секунду. А ведь их надо еще обработать и оповестить всех заинтересованных лиц о результатах обработки (еще несколько тысяч). Без четкого разделения кому направлено это сообщение не обойтись. Его должен получить один получатель.

Реализация чата? Тоже на JMS - тогда нужно добавить еще несколько тысяч писем в секунду.

Но в любом случае аналогия прослеживается, вместо CORBA Вы предлагаете использовать JCache+JMS+JMX. Функционал этой связки точно такой же.

Reply

Re: как я бы стал писать такое приложение... ymik December 23 2006, 02:59:34 UTC
про адресацию сообщений в JMS ( ... )

Reply

Re: как я бы стал писать такое приложение... oleg_bunin December 23 2006, 03:08:27 UTC
Какая у Вас задача, можешь описать архитектуру приложения и задачи, которые оно решает?

Подсчет количества сообщений неверен. Один ход это не одна задача, а множество. В бою участвует в среднем большее количество людей. Задачи проверки статуса происходят несколько раз в минуту. Ну и, наконец, результаты надо раздать.

Возможно, результаты можно раздать с помощью JCache - это нечто вроде shared-памяти между десятком машин огромной емкости, я правильно понимаю?

PS: Про чат ты не прав, чат на 10 тысяч человек нельзя сделать на БД.

Reply

Re: как я бы стал писать такое приложение... ymik December 23 2006, 12:10:56 UTC
ИНФОН - это крупнейший контент-провайдер и агрегатор СМС услуг в России, Украине, Казакхстане, Беларуссии, Киргизии, Армении. Кроме того, являясь частью МонстерМоба работаем так же по всему миру - США, Англия, Германия, тихоокенаский регион, Израиль, Китай. У Монстермоба,фактически, два технологических (железячных) центра - в Китае и в России. В США тоже есть, но там не СРВ ( ... )

Reply

Re: как я бы стал писать такое приложение... oleg_bunin December 23 2006, 22:16:49 UTC
А обычно N чему равно? Или вообще - сколько времени обычно обрабатывается запрос?
Сколько секунд?

Reply

Re: как я бы стал писать такое приложение... ymik December 24 2006, 01:09:39 UTC
обычо ответ должен быть в течении 5 минут. среднее время жизни пакета (со всеми статусами доставки) в нормальном режиме (без перегрузки системы, с одним ответом, со всеми статусами доставки) 20-40 секунд.

Reply

Re: как я бы стал писать такое приложение... oleg_bunin December 24 2006, 01:15:23 UTC
Нормально, 20-40 секунд!
У нас ответ должен быть получен за время на два порядка меньше. Секунда будет катастрофой.

Reply

Re: как я бы стал писать такое приложение... ymik December 24 2006, 02:37:35 UTC
на порядок - это 2-4 секунды ( ... )

Reply

Re: как я бы стал писать такое приложение... oleg_bunin December 24 2006, 04:10:50 UTC
А я сказал - на два порядка, то есть 0.2-0.4 секунды.

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

Примечательно, что Вы начали убеждать меня в том, что задержки - это нормально, а не рассказали о том, что на описанных Java-технологиях можно реализовать быстрый код. То есть обмен информацией между сотней абонентов с максимальным временным ограничением в одну секунду невозможен на JMS?

Reply

Re: как я бы стал писать такое приложение... ymik December 24 2006, 10:21:16 UTC
"Я не думаю, что игра, в которой задержки в несколько секунд от действия до результата будет конкурентноспособной."

цивилизацию помните?))) вы РТС делаете, аркаду, шутер или что-то иное?

да при прстой отправке сообщения в чат при плохом сондинении между самою отправкой и появлением сообщения на экране может пройти до 5 секуд!
-------------------

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

Reply

Re: как я бы стал писать такое приложение... alf_kadett December 25 2006, 04:34:53 UTC
На JMS, очевидно, да. С точки зрения технологий/подходов вам надо копать в сторону ESB.

Reply

Re: как я бы стал писать такое приложение... ymik December 25 2006, 08:14:47 UTC
О! Кстати, да. Даже не подумал, в принципе можно попробовать для распределённого приложения SOA.

Reply

Re: как я бы стал писать такое приложение... oleg_bunin December 27 2006, 00:09:11 UTC
А что такое - ESB?

Reply

Re: как я бы стал писать такое приложение... alf_kadett December 27 2006, 05:35:19 UTC
http://en.wikipedia.org/wiki/Enterprise_service_bus
http://mule.mulesource.org/wiki/display/MULE/Home

Единственное - от XML-based протокола надо сразу же уходить, счастья от него не будет - но Mule, помнится, это уже умеет.

Подробнее сейчас не расскажу - только-только начал копаться в этой части. Но описание вашей проблемы подозрительно похоже на то, что ESB должно решать.

(и в качестве шага в сторону - посмотрите на Tuple Spaces, http://c2.com/cgi/wiki?TupleSpace - там есть не только java-реализации, так что есть шансы поиспользовать готовый код)

Reply

Re: как я бы стал писать такое приложение... drumrock December 25 2006, 09:06:03 UTC
То есть, 0.2-0.4 - это реакция сервера, без учёта времени передачи до клиента и обратно?

А на каких именно задачах так критично по скорости выходит?

Reply


Leave a comment

Up