RPG Game Classic system Architecture design:
Bigword game engine is the use of this architecture, I know many of the RPG game company's colleagues have generally adopted this architectural approach.
Loginapp: Landing server, mainly responsible for the player's Landing request, verify the validity of the player, for the legitimate player allocation session, and cilent using a short connection, you can have multiple Loginapp to load balance. After verifying that the player passed, Loginapp the baseappmgr to find a suitable baseapp to send to the client.
Baseapp: We can call the gateway server, there are multiple to do load balancing, and client use long connection, for the player to assign appropriate Cellapp,client sent messages are forwarded through the Baseapp to Cellapp, Cellapp returned to the client also passed Baseapp, acting as a staging point for game message forwarding. Baseapp is also responsible for the chat module.
Cellapp: Can call game server or map server, multiple, responsible for specific game logic implementation, and player for game interaction.
Baseappmgr: Manage the gateway server, only need 1, or can take the decision from the backup way. Responsible for assigning Baseapp to the player and recording the player's Baseapp,cellapp kick by notifying Baseappmgr before baseappmgr find the corresponding Baseapp for the kick.
Cellappmgr: Manage Game server, only need 1, or can take the decision from backup way. Responsible for assigning appropriate cellapp to the player and managing the Cellapp.
Dbmgr: Data server, all the need for persistent data, through dbmgr and database interaction, dbmgr through data caching, batch transactions, local persistence and other means to greatly improve the overall system performance. For the general online only thousands of of the system dbmgr only need 1 is enough, for a very large system, the player more than a system, you can use zoning, each area using a dbmgr, the system according to the player's area to select the corresponding dbmgr.
Revivier: monitor, you can monitor the running state of all servers, if necessary, can start the server, shutdown and other management, its function can be understood as ice middleware Icegrid architecture Icegridnode and icegridregistry process management functions
Messagelogger/statlogger: Log server, statistical server, log system logs, or carry out the necessary information collection and statistics, this module depending on the needs of the entire system, optional.