Solução de jogos casuais para navegador

Desenvolvedores de jogos podem aproveitar uma plataforma em nuvem sem manutenção, escalável, flexível e robusta que distribui jogos de forma eficiente e atende a um grande número de jogadores simultâneos.

Arquitetura de solução recomendada

Descrição da solução

  1. A arquitetura de servidor da maioria dos jogos tradicionais para navegador é relativamente simples. Basicamente, utiliza um design de duas camadas: uma camada de lógica e uma camada de banco de dados. Por exemplo, o modelo de implantação mais simples seria um serviço de jogo composto por uma instância de ECS e uma instância de ApsaraDB RDS. Esse design apresenta algumas desvantagens evidentes (como ponto único de falha). À medida que a competição na indústria de jogos se intensifica, cada pequena melhoria na experiência de jogo se torna extremamente importante. Por isso, a solução de jogos casuais online para navegador da Alibaba Cloud oferece um cenário avançado de implantação de servidores.
  2. 1. Aceleração de conteúdo estático do jogo. Os desenvolvedores podem usar a CDN e o Object Storage Service (OSS) da Alibaba Cloud para criar um serviço de distribuição acelerada de conteúdo estático de jogos para navegador (texturas, interfaces, áudio, sons, efeitos especiais etc.). As centenas de nós de CDN da Alibaba Cloud, otimizados para download de imagens, cobrem a grande maioria das regiões da China, com cobertura em outras regiões globais importantes a ser adicionada nos próximos meses. A integração perfeita entre o OSS e a CDN da Alibaba Cloud permite que os desenvolvedores realizem detecção e entrega automáticas de alterações nos objetos armazenados no OSS. A CDN oferece controle por API, permitindo que os usuários pré-aqueçam recursos convenientemente por meio da API. O OSS pode ser usado para compactar, recortar, transcodificar e processar imagens em lote.
  3. 2. Segurança de jogos em múltiplas camadas. Primeiro, as defesas Anti-DDoS da Alibaba Cloud são fornecidas por meio de endereços IP altamente protegidos do Alibaba Cloud Security Services e recursos ESN. Segundo, o produto WAF da Alibaba Cloud Security oferece segurança web para servidores e sites de jogos para navegador, impedindo efetivamente que hackers explorem vulnerabilidades web para infiltração e penetração. O produto SCAN realiza regularmente varreduras de vulnerabilidades e análises de vulnerabilidades nos servidores. Além disso, algumas políticas anti-plugin são adicionadas ao serviço de jogos, como validação de parâmetros, reprodução máxima possível dos resultados de operações no servidor, mecanismos de código de verificação etc.
  4. 3. Arquitetura de servidor em três camadas. O diagrama de arquitetura mostra que os designs de servidores de jogos casuais para navegador podem criar uma arquitetura típica de três camadas, incluindo uma camada de acesso, uma camada de lógica e uma camada de dados. As camadas de acesso e lógica adotam um design stateless sem estado de dados. O Server Load Balancer (SLB) da Alibaba Cloud pode realizar balanceamento de carga para cada camada, evitando indisponibilidade do serviço causada por ponto único de falha. Para jogos casuais para navegador, o Auto Scaling (ESS) da Alibaba Cloud pode ser usado para realizar redimensionamento automático suave nos clusters de lógica central do jogo. A camada de computação lógica do servidor é projetada de forma modular principalmente para oferecer serviços globais e de cluster. A camada de dados é subdividida em camadas de proxy, cache e persistência. Como jogos sociais casuais geralmente possuem aspectos de jogabilidade offline, vários jogadores online podem interagir com o mesmo jogador offline, o que pode levar à inconsistência de dados. Normalmente, esses jogos usam um bloqueio de leitura e gravação de dados para suportar leitura e gravação simultâneas.
  5. 4. Bancos de dados distribuídos com suporte a alta concorrência. Jogos casuais para navegador geralmente adotam um modo de operação de mundo de jogo. Isso requer uma camada de armazenamento persistente para dados compartilhados globalmente. Além disso, devido ao grande volume de operações de dados offline, é necessário um serviço de bloqueio de leitura e gravação de dados para garantir a consistência dos dados. Os desenvolvedores podem usar o Distributed Relational Database Service e o Relational Database Service da Alibaba Cloud para criar um banco de dados distribuído que suporte alta concorrência de leitura e gravação. Por exemplo, partições de banco de dados e tabelas podem ser usadas para dados de jogadores, com o ID do jogador como chave de partição da tabela. Além disso, o design arquitetônico permite redimensionamento conveniente de dados na camada de persistência.


Orientado a soluções

Muitos jogadores querem poder jogar a qualquer hora e em qualquer lugar. Essa é a principal vantagem dos jogos para navegador. Em termos de jogabilidade, os jogos para navegador se dividem principalmente em jogos tradicionais de RPG online multijogador massivo (MMORPG) e jogos casuais. Os jogos casuais são o tipo mais popular de jogo online e incluem jogos de fazenda, música, negócios e corrida. Esses jogos casuais para navegador têm requisitos de hardware relativamente baixos. Geralmente, os jogadores podem usar computadores com configurações básicas ou netbooks para jogar pelo navegador, desde que tenham acesso à internet. Os desenvolvedores de jogos para navegador enfrentam vários desafios técnicos fundamentais:.
A Alibaba Cloud oferece uma plataforma de computação em nuvem para atender às necessidades e aos desafios enfrentados pelos jogos para navegador. Esta solução proporciona as seguintes vantagens:.
Segurança do jogo
Servidores de jogos seguros e estáveis
Os jogos para navegador frequentemente incluem muitos aspectos de jogabilidade automatizada que exigem pouca interação dos jogadores. Isso abre espaço para o uso de plugins. Por isso, é necessário implementar mecanismos para impedir que os jogadores usem plugins para obter vantagens indevidas no jogo, afetando o equilíbrio do sistema de valores do jogo. Os ataques representam outro risco de segurança, já que muitos jogos para navegador são vulneráveis a diversos tipos de ataque.
Com a proteção oferecida por endereços IP Anti-DDoS, Web Application Firewall (WAF), testes de penetração e outros serviços de segurança da Alibaba Cloud, é possível evitar o risco de ataques frequentes aos servidores de jogos para navegador. Isso proporciona aos jogadores um serviço de jogos mais estável, enquanto uma série de políticas anti-plugin garante um ambiente de jogo justo.
Escalabilidade elástica de recursos
Escalabilidade elástica de recursos
Jogos casuais sociais para navegador geralmente são executados em redes sociais. Alguns jogos muito populares experimentam um crescimento rápido de usuários. Jogos MMORPG também lançam constantemente novos servidores para atrair novos jogadores. Além disso, os jogos para navegador costumam ter vida curta. Com o tempo, os jogadores se tornam menos ativos e gradualmente param de jogar. Os jogos para navegador também passam por períodos de pico e de baixa atividade, portanto precisam de recursos de servidor que ofereçam escalabilidade elástica rápida e confiável.
Ao combinar o Server Load Balancer (SLB) e o Auto Scaling (ESS) da Alibaba Cloud, os desenvolvedores podem realizar facilmente o dimensionamento automático online dos servidores de lógica do jogo para responder a mudanças repentinas, como o aumento de pressão nos servidores causado por variações drásticas no número de usuários do jogo. Isso também ajuda os usuários a utilizar os recursos do servidor da maneira mais eficiente possível.
Alto volume de leitura e gravação de dados de interação offline
Bancos de dados distribuídos com suporte a alto acesso simultâneo
Para aumentar a fidelidade dos usuários, os jogos SNS para navegador geralmente adicionam aspectos de jogabilidade offline baseados na cadeia de relacionamentos das redes sociais. Isso envolve a leitura e gravação de grandes volumes de dados de interação offline (muito superiores à quantidade de dados processados para jogadores simultaneamente online). Portanto, os jogos exigem uma solução de armazenamento de dados que suporte leitura e gravação simultâneas de grandes volumes de dados.
O Relational Database Service de alto desempenho da Alibaba Cloud e o Distributed Relational Database Service combinados oferecem um serviço de banco de dados com suporte a leitura e gravação simultâneas de alta concorrência e extensões horizontais. Além disso, a capacidade e as especificações do banco de dados podem ser ajustadas de forma flexível de acordo com os diferentes ciclos de serviço.
Problema de aceleração de conteúdo estático do jogo
Aceleração estável de conteúdo estático do jogo
Os jogos para navegador não exigem cliente instalado — os jogadores precisam baixar e jogar simultaneamente. Isso exige que os desenvolvedores combinem aceleração de download para parte do conteúdo do jogo com políticas dinâmicas de carregamento de recursos, a fim de melhorar a experiência de jogo.
A CDN da Alibaba Cloud possui recursos abundantes de nós e excelente desempenho de download de imagens. Combinada com o Object Storage Service (OSS), cria um sistema integrado para armazenamento, processamento e distribuição de conteúdo estático de jogos para navegador. Isso oferece processamento conveniente de imagens e capacidade de download próximo ao usuário com throughput extremamente alto, proporcionando uma experiência de jogo estável e rápida para os jogadores. Além disso, a solução reduz efetivamente os custos de largura de banda e tráfego.