We developed a digital baby ol ' Hand tour, on-line 3 months later, 1 months maintenance. Each server process keeps running stably.
The only time to go down is because of the business logic code, when reading the digital Beast data, the program little brother does not protect the returned data pointer.
Another time is the directory server, unable to connect, the number of connections is full, because the directory server configuration file does not configure heartbeat detection time. This heartbeat detection mechanism needs to make a simple adjustment, by default, a 3-5-minute timer is turned on to detect if the connection is invalid.
The principle of our server's underlying components is stability first, performance second; it's okay. Don't complicate things, like a memory object, through the mechanism of reference counting, passing around, and finally an accident.
Our basic components are also easy to use, fool, and when implementing upper-level business logic, there is generally no misuse resulting in bugs.
The server can be implemented easily, regardless of the underlying network module or the upper logic module. Server code is simpler than the client. In fact, our own basic modules are fairly complex to implement and do some meaningless abstractions.
Our hand tour server is down 1 times in 3 months