Lions, Tigers, and Re-designs! Oh My

Published December 01, 2005
Advertisement
Well, after posting yesterday, I picked up a development book I hadn't read in a while, Massively Multiplayer Game Development 2, and noticed an excellent method of monitoring the processes and providing a great fault tolerance for keeping your processes up. While I will have to modify the base architecture to use it, these methods will be a life save for providing almost 100% uptimes.

The method I'm refering to is as follows:

There are two "Big Brother" Windows services that are running on the physical server. The first to start up is registered in the database as being the Primary Big Brother. It stores it's name, process ID, and last check in the database table.

The Primary "Big Brother" is responsible for monitoring the processes (logical servers) running on the physical server. It checks their statuses and last update in the database table to validate the process(es) are still running. If the Primary "Big Brother" detects that a process has stopped (Big Brother checks every 5 seconds), it will take the steps needed to restart the process and will notify the Logging server that the process stopped so that system operators can check to see if there are any issues.

The Secondary "Big Brother" is responsible only for monitoring the Primary "Big Brother". If it notices that the Primary "Big Brother" has stopped working, it will promote itself to Primary "Big Brother", demote the original Primary "Big Brother" to Secondary, and then will restart the original Primary "Big Brother", so that it will start monitoring the new Primary "Big Brother".

I will be modifying the base architecture to include this fault tolerance method, but I will be modifying it to allow for intelligent restarts of processes to support the immediate notification and sending of trace logs to the server monitoring application.

While most people here on GameDev are staunch nay-sayers about MMO's and the actual ability to create an Indie MMO, I think that by creating a great base architecture that is re-usable and configurable, you can and will be able to create an Indie MMO. That's why I'm toiling at the keyboard every night documenting, designing and coding. So hopefully someone who actually reads my journal and is interested will have a chance to voice some input and insight into what they would expect this architecture to do for them.

If you have a great architecture already in place then you can concentrate on the actual game development and content, which is 90% of the battle.

Thanks again for reading and please comment!
Previous Entry Busy Busy Busy
Next Entry 2 Days In A Row
0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement