Я всегда разбираюсь в том, как спроектировать высокопроизводительный игровой сервер, поддерживающий миллионы активных пользователей онлайн и играющих вместе.
Моя архитектура:
Master server:
receive client connection
base on user id
dispatch to slave servers
client connect to slave server again.
Slave server:
load user profile from data server, and won't load again before user disconnect.
*broadcast new events to users in the same room/channel/nearby*
Итак, мой вопрос, когдаЯ хочу транслировать новые события пользователям, но эти пользователи не находятся на том же сервере, поэтому это событие нельзя отправить этому пользователю напрямую, но ему нужно подключиться к другому серверу и отправить его.
Более важно, когда вычисляется битва пользователей, два сервера двух пользователей должны знать друг другу информацию, поэтому два сервера должны загрузить 2 пользователя в память, это тратит слишком много памяти.
Кажется, моя архитектура стала большойпроблема, я хочу знать правильную архитектуру игрового сервера MMO с несколькими серверами.