Ideias de soluções
Este artigo descreve uma ideia de solução. Seu arquiteto de nuvem pode usar essa orientação para ajudar a visualizar os principais componentes para uma implementação típica dessa arquitetura. Use este artigo como ponto de partida para projetar uma solução bem arquitetada que se alinhe com os requisitos específicos da sua carga de trabalho.
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
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de dados
- 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.
- 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.
- O Azure Cosmos DB armazena os dados de estado do jogo do usuário.
- O Azure Databricks correlaciona, limpa e transforma dados de estado do jogo.
- 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:
- Casos de uso comuns do Azure Cosmos DB
- Feed de alterações no Azure Cosmos DB
- Time to Live [TTL] no Azure Cosmos DB
- Níveis de consistência no Azure Cosmos DB
- Unidades de Pedido no Azure Cosmos DB
- Criação de partições e dimensionamento horizontal no Azure Cosmos DB
Documentação do produto:
- O que é o Azure Traffic Manager?
- Gestão de API do Azure
- Visão geral do Serviço de Aplicativo do Azure
- O que é o Azure CDN?
- O que é o Armazenamento de Blobs do Azure?
- O que é o Azure Databricks?
- Introdução às Funções do Azure
- O que são os Hubs de Notificação do Azure?
Recursos relacionados
As seguintes ideias de solução apresentam o Azure Cosmos DB: