MMORPGs, alguns MOBAs como League of Legends ou mesmo StarCraft 2 geralmente o forçam a escolher um servidor. Geralmente eles são EUA, UE e MAR, em MMORPGs muitos por local. Percebo que isso era necessário há alguns anos, mas agora com o advento da AWS e ofertas semelhantes que permitem escalar perfeitamente seu "poder do servidor", por que ainda existem servidores separados?
Minha linha de pensamento é assim (usando Star Wars: The Old Republic como exemplo): - Você está sempre em um planeta, uma "instância" isolada de outros planetas. - Se houver muitas pessoas em um planeta, SW: TOR cria uma nova instância do mundo e coloca jogadores lá. - Se você deixar o mundo / alternar instâncias, terá uma tela de carregamento
Então, por que o jogo não pode criar uma instância para este planeta. Esta instância (e somente esta) possui seus dados atuais em seu banco de dados e gerencia x players. Assim que x-50 jogadores estiverem nessa instância, um novo servidor será iniciado e novas pessoas aparecerão nessa instância. Os 50 pontos são reservados para mudar para o seu grupo, etc.
Poderia haver uma instância para as três principais regiões manterem a latência baixa, mas isso permitiria que você ainda tocasse com outros jogadores, por exemplo, SEA, se você puder viver com um atraso de 140ms (o que ainda não é nada).
Sempre que você alterna uma instância ou viaja para outro mundo, seu servidor atual fornece todos os seus dados para o próximo servidor, garantindo que você não precise de um grande banco de dados centralizado. Você ainda pode ter um que receba atualizações periodicamente para fins de análise.
Quando você efetua logoff ou os servidores perdem a conexão, os dados podem ser transferidos para um banco de dados maciço que é otimizado para armazenar os dados. Os servidores de instância podem ser otimizados para alta taxa de transferência.
Existe alguma razão específica para que isso não funcione? Existem outros problemas que estão faltando?