Recommended Solution Architecture
- The server architecture for most traditional browser games is relatively simple. Basically, it uses a two layer design, with a logic layer and database layer. For example, the simplest deployment model would be a game service composed of one ECS plus one RDS instance. This design has some obvious drawbacks (such as single-point-of-failure). As competition in the gaming industry has increasingly intensified, each small improvement to the game experience is extremely important. Therefore, the Alibaba Cloud casual online in-browser game solution offers an advanced server deployment scenario.
- 1. Static Game Content Acceleration. Developers can use the CDN and Alibaba Cloud Object Storage Service to build an accelerated distribution service for static browser game content (textures, UIs, audio, sounds, special effects, etc.). Alibaba Cloud's hundreds of CDN nodes, which perform optimization for image downloads, cover the vast majority of areas in China with coverage in other key global regions to be added in the coming months. The seamless integration of Alibaba Cloud OSS and CDN allows developers to achieve automatic detection and delivery of changes to objects stored in OSS. The CDN provides API control, allowing users to conveniently preheat resources through the API. OSS can be used to compress, crop, transcode and otherwise process images in batches.
- 2. Multi-Level Game Security. First, Alibaba Cloud Anti-DDoS defenses are provided through Alibaba Cloud Security Services highly protected IP address and ESN featured. Secondly, Alibaba Cloud Security's WAF product provides web security for browser game servers and sites, effectively preventing hackers from using web vulnerabilities for infiltration and penetration. The SCAN product regularly performs vulnerability scans and vulnerability analysis on servers. In addition, some anti-plug-in policies are added in the game service, such as parameter validation, maximum possible server reproduction of operation results, verification code mechanisms, etc.
- 3. Three Level Server Architecture. The architectural diagram shows that casual browser game server designs can create a typical three level architecture, including an access layer, logic layer, and data layer. The access and logic layers both adopt a non-data stateless design. The Alibaba Cloud Server Load Balancer can perform load balancing for each layer, preventing service unavailability caused by a single-point-of-failure. For casual browser games, the Alibaba Cloud ESS can be used to perform smooth automatic resizing on core game logic clusters. The server's logical computing layer is designed to be modular primarily to deliver global and cluster services. The data layer is subdivided into proxy, cache and persistence layers. As social causal games generally have offline gameplay aspects, multiple online gamers may interact with the same offline gamer, which may in turn lead to data inconsistency. Usually, such games use a data read/write lock to support concurrent data reading/writing.
- 4. Distributed Databases Supporting High Concurrence Casual browser games generally adopt a game world mode of operation. This requires a persistence storage layer for globally shared data. In addition, due to the large amount of offline data operations, they require a data read/write lock service to ensure data consistency. Developers can use Alibaba Cloud Distributed Relational Database Service and Relational Database Service to build a distributed database that supports high read/write concurrency. For example, database and table partitions can be used for player data, with the player ID used as the table partition key. In addition, the architectural design allows for convenient data resizing at the data persistence layer.
Many gamers want to be able to play their games anytime, anywhere. This is the most prominent advantage provided by browser games. In terms of gameplay, browser games are primarily divided into traditional Massive Multiplayer Online Role Playing Game (MMORPG) and casual games. Casual games are the most popular type of online game and include farming, music, business, and racing games. These casual browser games have relatively low hardware requirements. Generally, gamers can use low-configuration computers or netbooks to play these games through a browser as long as they have Internet access. Browser game developers face several core technical challenges:
Alibaba Cloud provides a cloud computing platform to address the needs and challenges faced by browser games. This solution provides the following advantages:
Secure and Stable Game Servers
Browser games often include many automated gameplay aspects where very little interaction is required from players. This leaves a space for the use of plug-ins. Therefore, it is necessary to introduce mechanisms to prevent players from using plug-ins to reap in-game benefits, thereby affecting the balance of the game's values system. Attacks pose another security risk with many browser games being vulnerable to a variety of attacks.
Through the protection offered by anti-DDoS IP addresses, WAF, penetration testing, and other Alibaba Cloud security services, the risk of frequent attacks on browser game servers can be avoided. This provides gamers with a more stable game service, while a series of anti-plug-in policies ensure a level playing field.
Elastic Resource Scalability
Elastic Resource Scalability
Casual social browser games are generally run on a social network. Some highly popular games experience a rapid surge of users. MMORPG games also constantly launch new servers to attract new players. In addition, browser games are usually short-lived. After a time, players become less active and gradually stop playing. Browser games also experience high and low peak periods, so they require server resources that support quick and reliable elastic scaling.
By combining Alibaba Cloud Server Load Balancer and ESS, developers can easily perform automatic online scaling for game logic servers to respond to sudden changes, such as the increased pressure on servers caused by drastic changes in the number of game users. This can also help users most efficiently use server resources.
Large Offline Interaction Data Read/Write Volume
Distributed Databases Supporting High Concurrent Access
To enhance user loyalty, SNS browser games generally all add offline gameplay aspects based on the relationship chain of social networks. This involves reading and writing large amounts of offline interaction data (far exceeding the amount of data to be processed for concurrently online players). Therefore, the games require a data storage solution that supports the concurrent reading/writing of mass data.
The Alibaba Cloud high-performance Relational Database Service and Distributed Relational Database Service combine to provide a database service supporting high concurrent read/write and horizontal extensions. In addition, database capacity and specifications can be flexibly adjusted according to different service cycles.
Static Game Content Acceleration Problem
Stable Static Game Content Acceleration
Browser games are non-client games, players must simultaneously play and download. This requires developers to combine download acceleration for some game content with dynamic resource loading policies in order to improve the gaming experience.
The Alibaba Cloud CDN possesses rich node resources and excellent image download performance. Combined with the Object Storage Service (OSS), it creates an integrated system for the storage, processing, and distribution of static browser game content. This provides convenient image processing and nearby download capability with a super-high throughput, delivering a stable and fast gaming experience for players. Moreover, the solution effectively reduces bandwidth and traffic costs.