Responsabilidade: Gerenciar a lógica principal do jogo, como atualizar o estado do jogo, verificar condições de vitória e realizar a lógica de pontuação.
Funcionalidades: Atualizar a posição das palas e da bola, detectar colisões, aplicar regras do jogo e manter o estado do jogo em tempo real.
2 - Serviço de Sessão (Session Service):
Responsabilidade: Gerenciar a criação e o gerenciamento das sessões de jogo.
Funcionalidades: Criar novas partidas, gerenciar as salas de jogo, manter o estado das partidas (ativas, em espera, concluídas) e lidar com a entrada e saída de jogadores.
3 - Serviço de Comunicação (Communication Service):
Responsabilidade: Gerenciar a comunicação em tempo real entre os jogadores.
Funcionalidades: Gerenciar a troca de mensagens entre clientes, enviar atualizações de estado do jogo e processar eventos de entrada dos jogadores (como movimento das palas).
4 - Serviço de Autenticação e Autorização (Auth Service):
Responsabilidade: Gerenciar o login, registro e controle de acesso dos jogadores.
Funcionalidades: Autenticar jogadores, criar e gerenciar perfis de usuário, e garantir que apenas jogadores autorizados possam participar de uma partida.
5 - Serviço de Estatísticas (Statistics Service):
Responsabilidade: Manter e fornecer estatísticas de jogo e desempenho.
Funcionalidades: Armazenar e recuperar dados sobre pontuações altas, desempenho dos jogadores, e estatísticas de partidas.
Comunicação entre Microservices
APIs RESTful ou gRPC: Os microserviços podem se comunicar através de APIs RESTful ou gRPC para troca de informações.
Mensageria e Fila de Mensagens: Para garantir comunicação em tempo real, pode-se usar uma fila de mensagens (como RabbitMQ ou Kafka) para gerenciar eventos e atualizações do estado do jogo.
WebSockets: Pode ser usado pelo Serviço de Comunicação para comunicação em tempo real entre clientes e o servidor.
1 - Serviço de Jogo (Game Service):
2 - Serviço de Sessão (Session Service):
3 - Serviço de Comunicação (Communication Service):
4 - Serviço de Autenticação e Autorização (Auth Service):
5 - Serviço de Estatísticas (Statistics Service):
Comunicação entre Microservices