Hallo zusammen,
ich bin zurzeit daran ein sehr kleines 2D RPG Spiel zu schreiben und bin jetzt dabei mir darüber Gedanken zu machen wie man denn man besten eine skalierbare und Ausfallsichere Serverinfrasturktur aufbaut.
(sorry, meine paint skills....)
Meine bisherige Überlegung sieht so aus, dass sich ein Client immer mit drei Eingangsservern verbindet, allerdings nur eine davon verwendet, die anderen 2 bleiben quasi auf Stand-by.
Diese Server haben jeweils eine Verbindung zu jeder Spielwelt und den Loginservern.
Die Eingangsserver kümmern sich um das Login und darum die Verbindung zu entschlüssen, sowie die Pakete auf Validität zu überprüfen.
Nur dann werden sie an den eigentlichen Server weitergeleitet.
Dort wird entsprechend auf die Pakete reagiert und die Antwort an den selben Eingangsserver zurückgeschickt. Dieser leitet sie dann verschlüsselt an den Client weiter.
Erkennt der Client jetzt, dass die Verbindung zu den aktieven Eingangsserver abgebrochen ist, springt er automatisch auf eine der zwei anderen Verbindungen über und sucht sich einen neuen 3. Eingangsserver. Dem neuen Server teilt er mit, dass die Verbindung abgebrochen ist und fordert das letzte Paket erneut an. Damit weis dann auch der Spielserver, dass die Verbindung ab jetzt über den neuen Server läuft, und sendet das letzte Paket erneut.
Was haltet ihr davon? Ist das ganze so sinnvoll oder habt ihr eine bessere Idee? Mein Grundgedanke war, dass die Außenwelt die eigentlichen Server nie sieht und so nur die Eingangsserver angreifbar sind, wenn die allerdings abstürtzen oder durch ddos lahmgelegt werden, tut das niemanden weh, der Spieler merkt es wahrscheinlich nichtmal, weil automatisch über einen anderen Server weiter gemacht wird.
mfg
glotzer
ja, ich schreibe grundsätzlich alles klein und meine rechtschreibfehler sind absicht