MMO Computer Gaming Solution
Massively Multiplayer Online (MMO) computer games require large volume of movement and combat packets which must be broadcast within a certain field of vision. MMO cloud gaming servers produce massive amount of communication packets when many gamers play simultaneously. The access layers of MMO game servers require high connectivity and high network throughput built on a robust architecture.
Recommended Solution Architecture
Solution description
- 1. Global Service Primary/Secondary Disaster Recovery
- By service scope, game server services can generally be classified into regional services (e.g. chat services) and global services (e.g. gateway services). If a global service encounters a fault, this will affect all players of the game. Therefore, the high-availability of global services must be ensured. This can be accomplished by building primary/secondary dual-activity nodes on the ECS instance.
- 2. Layered Architecture
- MMO games adopt a typical three-layer architecture (access layer, logic layer, and data layer). The access layer is primarily responsible for game account login authentication, communication packet decryption and client connection management. The logic layer implements the game's primary service logic, such as regional game services, chatting, and rankings. The data layer provides data persistence storage and shared cache. RDS is used to ensure disaster recovery for primary and secondary databases, read/write splitting, distributed databases, etc. At the logic layer, the core scenario servers can flexible extend the service based on the scenario, helping increase the maximum number of simultaneous players for a single zone.
- 3. Cross-Region Elastic Deployment
- Customers can deploy different game servers in Alibaba Cloud data centers in different regions. Combined with Alibaba Cloud auto scaling, the ESS enables developers to conveniently build an automatic server activation system and provides users nearby access, increasing the network access quality.
- 4. Dedicated Data Cache
- To serve a high number of simultaneous players in individual zones, MMO games use Tair (Redis® OSS-Compatible) and ApsaraDB for Memcache to construct a cache layer in order to accelerate the reading/writing of player's game data. This can also decrease back-end database read/write pressure. Data in the cache is taken in regular batches for persistence storage.
- 5. Game Update Package Downloads
- Built on Alibaba Cloud CDN and Object Storage Service, the game update package download system can efficiently and conveniently deliver frequent MMO game client update packages.