Правильно ли построена архитектура?
Вложений: 1
Здравствуйте, никогда раньше не занимался серверными технологиями, но тут возникла необходимость создать высоконагруженный сервер для флеш приложения, с несколькими тысячами пользователей одновременно. Пару дней по изучал что к чему, и вот нарисовал схему как я себе это представляю. Задача: пользователь подключен сокетом к node.js , который управляет всей игровой логикой, по необходимости считывая или записывая в БД. вся статика выдаётся и сохраняется через nginx. Вопрос заключается в том, правильно ли построена система и выдержит ли большую нагрузку(сама логика игры не особо сложна, но коннектов будет несколько тысяч)
|
игра пошаговая/или реалтайм ?
Можно поподробне про взаимодействие PHP и node, имеет ли нода прямой доступ к бд (на схемке я этого невижу) ? |
Пошаговая, в больше части функционал типа отправить подарок, сообщение.
Нода обращается у меня к php через апач, В основном для логирования действий. Вообще не знаю стоит ли ставить апач для работы с бд и сохранения картинок, аудио, можно вроде обойтись и без него. |
Что касается ноды то с бд однозначно лучше напрямую без посредников.
Помимо логирования, наверно будет ещё загрузка игровой ситуации пользователя, когда пользователь только подключился. Как я понимаю. если ты планируешь записывать в бд каждое действие игрока, то это необязательно делать. К примеру в онлайн игре домовята, есть кнопочка сохранить, если ненажать то прогресс будет утерян. Зато пока пользователь ни нажмёт, сервер БД недёргает. Одним словом Я вижу слабое место в PHP прослойке, при логе каждого действия нагрузка на PHP будет больше чем на саму ноду. Так что апач с php лучше обрулить как мне кажется и работать напрямую с бд. Опять же текущую игровую ситуацию желательно бы хранить в памяти nodejs (впрочем это очевидно,), как я понимаю до 500мб проблем быть недолжно, и выгружать в бд только по мере необходимости (в случае разрыва соединения к примеру/ по нажатию кнопки save/ другие варианты ). |
Спасибо, да весь процесс игры будет храниться в памяти. В базу будут скидываться только результаты.
Сохранение файлов тоже лучше выполнять без апача? |
ХЗ если чесно.
Если нода и апач физически отделены, то логично повесить файлы на апач, рагрузив таким образом сервак с нодой.Ну а если всё на одной машине то я хз что быстрее, да и вобще хз насколько PHP шная часть будет давать нагрузку на этот общий сервак, и что в этом случае на апач можно вешать. ну и опятьже ХЗ чо за файлы, вобще непонятно откуда потребность в их сохранении в браузерной игре. |
Фотографии, аудио. Просто стоит ли ради этого держать апач...
|
DjDiablo, а если нужно при коннекте получать из базы данные пользователя по айди, а если там их нету то обратиться к php файлу и вернуть оттуда. тут Уже без апача не обойтись?
(php файл будет обращаться к vk.api и получать оттуда) |
я невижу критических преград для использования VK api из ноды.
что касается хранения картинок то не могу порекомендовать что либо, нужно искать в сети бенчмарки. |
Часовой пояс GMT +3, время: 21:06. |