13.12.2012, 21:18
|
Аспирант
|
|
Регистрация: 10.03.2012
Сообщений: 50
|
|
Правильно ли построена архитектура?
Здравствуйте, никогда раньше не занимался серверными технологиями, но тут возникла необходимость создать высоконагруженный сервер для флеш приложения, с несколькими тысячами пользователей одновременно. Пару дней по изучал что к чему, и вот нарисовал схему как я себе это представляю. Задача: пользователь подключен сокетом к node.js , который управляет всей игровой логикой, по необходимости считывая или записывая в БД. вся статика выдаётся и сохраняется через nginx. Вопрос заключается в том, правильно ли построена система и выдержит ли большую нагрузку(сама логика игры не особо сложна, но коннектов будет несколько тысяч)
|
|
13.12.2012, 22:19
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
игра пошаговая/или реалтайм ?
Можно поподробне про взаимодействие PHP и node, имеет ли нода прямой доступ к бд (на схемке я этого невижу) ?
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 13.12.2012 в 22:40.
|
|
13.12.2012, 22:43
|
Аспирант
|
|
Регистрация: 10.03.2012
Сообщений: 50
|
|
Пошаговая, в больше части функционал типа отправить подарок, сообщение.
Нода обращается у меня к php через апач, В основном для логирования действий.
Вообще не знаю стоит ли ставить апач для работы с бд и сохранения картинок, аудио, можно вроде обойтись и без него.
|
|
13.12.2012, 22:53
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
Что касается ноды то с бд однозначно лучше напрямую без посредников.
Помимо логирования, наверно будет ещё загрузка игровой ситуации пользователя, когда пользователь только подключился. Как я понимаю.
если ты планируешь записывать в бд каждое действие игрока, то это необязательно делать. К примеру в онлайн игре домовята, есть кнопочка сохранить, если ненажать то прогресс будет утерян. Зато пока пользователь ни нажмёт, сервер БД недёргает.
Одним словом
Я вижу слабое место в PHP прослойке, при логе каждого действия нагрузка на PHP будет больше чем на саму ноду. Так что апач с php лучше обрулить как мне кажется и работать напрямую с бд.
Опять же текущую игровую ситуацию желательно бы хранить в памяти nodejs (впрочем это очевидно,), как я понимаю до 500мб проблем быть недолжно, и выгружать в бд только по мере необходимости (в случае разрыва соединения к примеру/ по нажатию кнопки save/ другие варианты ).
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 13.12.2012 в 23:14.
|
|
13.12.2012, 23:16
|
Аспирант
|
|
Регистрация: 10.03.2012
Сообщений: 50
|
|
Спасибо, да весь процесс игры будет храниться в памяти. В базу будут скидываться только результаты.
Сохранение файлов тоже лучше выполнять без апача?
|
|
13.12.2012, 23:24
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
ХЗ если чесно.
Если нода и апач физически отделены, то логично повесить файлы на апач, рагрузив таким образом сервак с нодой.Ну а если всё на одной машине то я хз что быстрее, да и вобще хз насколько PHP шная часть будет давать нагрузку на этот общий сервак, и что в этом случае на апач можно вешать.
ну и опятьже ХЗ чо за файлы, вобще непонятно откуда потребность в их сохранении в браузерной игре.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 13.12.2012 в 23:57.
|
|
13.12.2012, 23:39
|
Аспирант
|
|
Регистрация: 10.03.2012
Сообщений: 50
|
|
Фотографии, аудио. Просто стоит ли ради этого держать апач...
|
|
17.12.2012, 14:06
|
Аспирант
|
|
Регистрация: 10.03.2012
Сообщений: 50
|
|
DjDiablo, а если нужно при коннекте получать из базы данные пользователя по айди, а если там их нету то обратиться к php файлу и вернуть оттуда. тут Уже без апача не обойтись?
(php файл будет обращаться к vk.api и получать оттуда)
|
|
17.12.2012, 15:19
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
я невижу критических преград для использования VK api из ноды.
что касается хранения картинок то не могу порекомендовать что либо, нужно искать в сети бенчмарки.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 17.12.2012 в 15:46.
|
|
|
|