BigWorld's fault tolerance ensures that the server continues to operate if a single process is lost. The server also provides a second level of fault tolerance known as disaster recovery. The server's state can be written periodically to the database. In the event of entire server failure, the server can be restarted using this information.
The rate of this archiving is specified in the file
by
the configuration options <res>
/server/bw.xml<baseApp/archivePeriod>
and <cellAppMgr/archivePeriod>
. For more details
on these options, see the document Server Operations Guide's chapter Server Configuration with bw.xml's sections BaseApp Configuration Options and CellAppMgr Configuration Options.
The CellAppMgr process is responsible for writing the space data and the game time to the database
Entities with a valid database entry are also periodically archived
(indicated by a non-zero databaseID
on the base entity).
To write an entity to the database, thus enabling its archiving, call the
method writeToDB
() on the base or cell
entity.
Each time an entity is archived, its callback
onWriteToDB
() is invoked.
Starting a server with this archived information is the same as starting the server after a controlled shutdown. For more details, see Controlled Startup and Shutdown.
For more details regarding Disaster Recovery, see the document Server Operations Guide's chapter Disaster Recovery.