Added content in the fault tolerance section.
This commit is contained in:
parent
1d0ad8df4f
commit
d6c30f587a
1 changed files with 47 additions and 1 deletions
48
report.lyx
48
report.lyx
|
@ -903,7 +903,53 @@ Same here it is simply not true for a generic server to chose one or the
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Section
|
\begin_layout Section
|
||||||
Fault Tolerant
|
Fault Tolerance
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Fault tolerance is an important factor in all servers, a server that is
|
||||||
|
fault tolerant should be able to follow a given specification when parts
|
||||||
|
of the system failures.
|
||||||
|
This means that fault tolerance is different in each system depending on
|
||||||
|
what specification they have.
|
||||||
|
A system could be fault tolerant in different aspects, one is where the
|
||||||
|
system is guaranteed to be live but not safe and it could also be reversed,
|
||||||
|
that the system is safe but not guaranteed to be live.
|
||||||
|
Depending on the system one property may be more important(some example
|
||||||
|
here).
|
||||||
|
A system could also have non existent fault tolerance or it could be both
|
||||||
|
safe and guaranteed to be live.
|
||||||
|
It should be noted that it is not possible to achieve complete fault tolerance,
|
||||||
|
a system will always have a certain risk of failure.
|
||||||
|
With this in mind the goal is to make GGS as fault tolerant as possible.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
In order to make GGS fault tolerant the programming language Erlang will
|
||||||
|
be used.
|
||||||
|
Erlang will not guarantee a fault tolerant system but it has features that
|
||||||
|
support and encourage the development of fault tolerant systems.
|
||||||
|
In GGS it is important that the system overall is fault tolerant.
|
||||||
|
Crashes of the whole system should be avoided as this would make the system
|
||||||
|
unusable for a time.
|
||||||
|
By using supervisor structures it is possible to crash and restart small
|
||||||
|
parts of the system, this is convenient as fault can be handled within
|
||||||
|
small modules thus never forcing a crash of the system.
|
||||||
|
\end_layout
|
||||||
|
|
||||||
|
\begin_layout Standard
|
||||||
|
Why is fault tolerance needed in game servers? This is an interesting question
|
||||||
|
because it is not so obvious as it is in many other cases.
|
||||||
|
In general all servers strive to be fault tolerant as fault tolerance means
|
||||||
|
more uptime and a safer system.
|
||||||
|
This is also the case when it comes to game servers, in short good fault
|
||||||
|
tolerance is a way of satisfying customers.
|
||||||
|
Game servers differ from many other fault tolerant systems in that high-availab
|
||||||
|
ility is more important than the safety of the system.
|
||||||
|
For example a simple calculation error will not be critical for a game
|
||||||
|
server but it may be in a life-critical system and then it is better that
|
||||||
|
the system crashes.
|
||||||
|
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Subsubsection
|
\begin_layout Subsubsection
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue