2016-04-27 7 views
0

В настоящее время я создаю небольшую многопользовательскую игру, такую ​​как agar.io с node.js и socket.io. Это на ранней стадии разработки, но у меня есть некоторые вопросы о масштабировании.Как масштабировать приложение node.js?

Когда в игре участвует менее 80 человек, все они играют вместе, и все работает нормально. Но что, если в онлайн-игре есть 1000 игроков? Думаю, мне нужно:

  • Разделить игроков по разным «комнатам» (например, в одной комнате = 100 игроков), иначе игра будет слишком трудной для игры.
  • И, возможно, разделить «комнаты» на разных серверах (например, один сервер = 5 комнат) для лучшего исполнения.

Однако я понятия не имею, как это работает ... Любые советы или ресурсы для обмена этими темами? В настоящее время я принимаю игру на Heroku, если это имеет значение.

Спасибо!

ответ

1

Вы хотите разделить с комнаты и пространства имен понятий Socket.io:

Вам также необходимо настроить Socket.io для нескольких узлов:

На Heroku, вам необходимо включить привязку сеансов ('липкие сессии'):

+0

Спасибо за быстрый ответ! «комнаты и пространства имен» идеально подходят для решения моей первой проблемы. Однако я не уверен, что для масштабирования будут работать «узлы и сродство». Будет ли более простое решение? –

+0

FYI Мне не нужны игроки, чтобы общаться друг с другом, если они находятся в разных комнатах, даже меньше, если они находятся на разных серверах. –

 Смежные вопросы

  • Нет связанных вопросов^_^