Game Architecture Analysis--game Cloud series five
Speaking of architecture, divided into two pieces, one is the software level of the Code architecture, and the other is a hardware-level system architecture. Software level, module division, Code reconfiguration and business layer architecture. System level, to network, deployment, server cluster-oriented. The architecture of software hierarchy lies in the development of early code. Hardware-level system architecture, in the late deployment of the server online. Today's content is primarily biased towards the system architecture in the gaming domain.
Talk about the system architecture, no outside of those technologies, what load balance ah, what database vertical, horizontal partition Ah, front-end/back-end cache, NoSQL what. The architecture in almost any industry is inseparable from these technologies. Today is about the game architecture, I do not want to bother to introduce the traditional architecture technology, and nothing new. To say the architecture of an area, I think that this area is the most valuable part of the architecture in other areas.
Compared with the traditional B/S, c/S application architecture, the game architecture is characterized by:
Game architecture-specific "zoning" concepts.
In order to solve the player's delay, the traditional IDC room game architecture, generally divided into telecommunications and unicom two large partitions. And then in the two major sections, it is similar to "Beijing Division" "Shanghai Division" "Jiangsu Division" and so on. This logical level of division by region, in fact, in the physical level, is the server corresponding deployment in different areas of the computer room. This deployment is also primarily designed to address the latency of gamers. For example, Beijing Telecom players landed in Shanghai Telecom server, the delay must be very high.
The architecture of the game partition determines that the architecture of the game is generally not a distributed cluster architecture (hereinafter referred to as the cluster architecture). As a player, you know, like I'm a Beijing telecom player, then landing in Shanghai Telecom game server, this time, you will generally find that the character of your game will return to the time you have just registered (for the great number of games, of course, some games are not such design, here is not too much introduction). From this we can determine that the different regions of the game deployment, application layer and database are separately deployed. And our traditional distributed cluster architecture, whether you log in from Beijing or from Shanghai, your user data is unique. Because of this cluster architecture, the underlying database does not run independently.
The architectural characteristics of the game partition, which determines the expansion of the game architecture is very good. The so-called database vertical partitioning, horizontal partitioning, such as MySQL master-slave read and write separation, this kind of database level expansion, is very cumbersome, is generally applied to our cluster architecture. And our game structure, simple point, we only need a server deployment application, a server deployment database can be. If the number of users increased, such as Shanghai Telecom's increased user capacity, a server and a database cannot carry. This time, we simply add a section, and then independently deploy a single application and a database. So there is a Shanghai telecom area, Shanghai Telecom, the second area of such a distinction.
Traditional IDC room Deployment game, geographical access to the delay, and thus formed a strong regional zoning. If we deploy through the cloud, what's the difference between the partitions? We know that Cloud Host network is BGP (many operators access), thus effectively solve the traditional computer room deployment problems-the different locations of different operators to visit the delay problem. So we use the cloud to deploy the game application zoning, there is no Beijing Telecom Division, Shanghai Telecom Division said. We can simply call it the first zone, the Second district, the three districts, and so on, and then we can get a nice alias for the different areas. For example, one area of the storm, the second district of Zhuluzhongyuan, the three districts of the male bully world.
Partitioning is just one of the most prominent features of the gaming industry, and almost all types of games have this feature. But the types of games are different in architecture and technology. The game according to the application divides, mainly divides into the page to swim, the hand swims and the end swims. But what is the difference between a page tour, a hand tour and an end tour?
The difference between the page tour and the hand tour and the end-travel architecture:
Page tour is the abbreviation of the Web game, this kind of web game application, belong to B/S framework category. It should be noted that here I say that the web game, as well as the structure of the game introduced in this article, does not include stand-alone games. If it is a stand-alone game, do not have to communicate with the service side, it is not what the architecture is not.
Hand Tour is the short name of mobile phone games, the end of the game is the short name of the client, hand and end of the characteristics of the trip, need to install the client on the mobile phone, computer. So the hand and the end of the tour is a typical C/s structure.
Page Tour is b/s structure, hand and end of the tour is the C/s structure, said here, may not need me to say more. Have done technology, may be more than I have to understand B/S and C/s What the difference it is. b/S architecture is browser-based, so users don't care about our program upgrades. When we upgrade the program, we only need to update the server side, the next time the customer browser access, will automatically bring the latest data back. And our C/s architecture, every time we upgrade the program, may require customers manually on the phone or computer to download the latest client or upgrade package to update.
The technical difference between the page tour, the hand tour and the end tour:
Page tour, hand tour, end of the end of the technology, may not be much difference, the main technical difference lies in the front. Page tour, using HTML5, Flash and other front-end technology. And the hand swims, if is the Android system, uses the Java technology. If it is iOS, the main use of object C. The end of the tour, of course, C + + is the first.
OK, simple introduction here, I hope you support the original article! I also hope that we can share their experiences and experience!
Original Author: Architecture Cloud Shoke article from: http://game.aliyun.com forwarding please indicate the source