Editar

Jogos usando o Azure Cosmos DB

Azure App Service
Azure Cosmos DB

Ideias de soluções

Este artigo é uma ideia de solução. Se você quiser que expandamos o conteúdo com mais informações, como possíveis casos de uso, serviços alternativos, considerações de implementação ou orientação de preços, informe-nos fornecendo feedback do GitHub.

Essa ideia de solução de jogos dimensiona elasticamente seu banco de dados para acomodar explosões imprevisíveis de tráfego e oferecer experiências multijogador de baixa latência em escala global.

Arquitetura

Architecture diagram that shows a gaming solution idea that uses Azure Cosmos DB.

Transfira um ficheiro do Visio desta arquitetura.

Fluxo de dados

  1. O Azure Traffic Manager encaminha o tráfego de jogos de um utilizador para as aplicações alojadas no Serviço de Aplicações do Azure, Funções ou Contentores e para APIs publicadas através do Gateway de API do Azure.
  2. A CDN do Azure fornece imagens estáticas e conteúdo de jogos ao usuário que são armazenados no Armazenamento de Blobs do Azure.
  3. O Azure Cosmos DB armazena os dados de estado do jogo do usuário.
  4. O Azure Databricks correlaciona, limpa e transforma dados de estado do jogo.
  5. O Azure Functions processa as informações derivadas do Azure Databricks e envia notificações por push para dispositivos móveis, usando os Hubs de Notificação do Azure.

Componentes

Esta arquitetura inclui os seguintes componentes:

  • O Azure Traffic Manager é um balanceador de carga baseado em DNS que controla a distribuição do tráfego de usuários para pontos de extremidade de serviço em diferentes regiões do Azure. Durante as operações normais, este encaminha os pedidos para a região primária. Se essa região ficar indisponível, o Gerenciador de Tráfego poderá fazer failover para a região secundária, conforme necessário.

  • O Gerenciamento de API do Azure fornece um gateway de API que fica na frente das APIs de jogos. O Gerenciamento de API também pode ser usado para implementar preocupações, como:

    • Aplicação de quotas de utilização e limites de taxas
    • Validando tokens OAuth para autenticação
    • Habilitando solicitações de origem cruzada (CORS)
    • Armazenamento em cache de respostas
    • Monitoramento e registro de solicitações
  • O Serviço de Aplicativo do Azure hospeda aplicativos de API que permitem dimensionamento automático e alta disponibilidade sem precisar gerenciar a infraestrutura.

  • A CDN do Azure fornece conteúdo estático e armazenado em cache de locais próximos aos usuários para reduzir a latência.

  • O Armazenamento de Blobs do Azure é otimizado para armazenar grandes quantidades de dados não estruturados, como mídia estática de jogos.

  • O Azure Cosmos DB é um serviço de banco de dados NoSQL totalmente gerenciado para criar e modernizar aplicativos escaláveis e de alto desempenho.

  • O Azure Databricks é uma plataforma de análise baseada no Apache Spark e otimizada para a plataforma de serviços cloud Microsoft Azure.

  • O Azure Functions é uma opção de computação sem servidor que permite que os aplicativos sejam executados sob demanda sem precisar gerenciar a infraestrutura.

  • Os Hubs de Notificação do Azure são um mecanismo de notificação por push massivamente escalável para enviar notificações rapidamente para uma variedade de dispositivos móveis e plataformas .

Detalhes do cenário

Potenciais casos de utilização

Este cenário específico é baseado em um cenário de jogos, para a indústria de desenvolvimento de jogos. Os padrões de design são relevantes para muitos setores que são necessários para processar chamadas da Web e solicitações de API de alto tráfego, como comércio eletrônico e aplicativos de varejo.

Próximos passos

Analise os seguintes artigos no Azure Cosmos DB:

Documentação do produto:

As seguintes ideias de solução apresentam o Azure Cosmos DB: