Mehrere Server verwenden

06/01/2014 15:04 supercracker13#1
Hallo, ich habe mal eine kleine Frage bezüglich Servern.

Ein paar Informationen vor weg:
Ein von mir erstelltes Programm läuft auf einem Server, um einen Chat zu handeln.

1: Angenommen es würden zu viele Leute den Chat benutzen und der Server würde dadurch zu langsam müsste man wahrscheinlich einen zweiten benutzen.
Müsste man das so machen, das z.b. ein Server die Verbindungen der Server überprüft und den Clienten dann die IP oder den Server mitteilt zu dem sie sich verbinden sollen. Oder wie geht das, ich kenne mich bei Servern nicht so aus.

2: Momentan ist der Server in C# geschrieben. Ich hab mich mal umgeguckt und größtenteils sind die Server Linux basiert. Soll ich lieber alles umcoden oder einen Windows Server holen?
06/01/2014 16:10 Mostey#2
1. http://en.wikipedia.org/wiki/Load_balancing_(computing) solltest du dir mal durchlesen.
2. Du könntest das mit Mono auf Linux laufen lassen. Wie es mit der Performance aussieht, weiß ich allerdings nicht. Windows Server sind meistens teurer und diese kannst du üblicherweise nicht so ausgiebig konfigurieren, wie es bei Linux Servern der Fall ist.
06/01/2014 17:05 supercracker13#3
Zu 2: Ja Mono hab ich auch schon gesehen. Aber wie du schon meintest ist die performance wahrscheinlich nicht so gut. Wahrscheinlich würde ich das dann lieber umcoden.

Es hat sich bei mir noch eine Frage aufgetan:
Undzwar wenn man die Server getrennt laufen lässt um mehr abarbeiten zu können muss trotzdem auf eine Datenbank zugegriffen werden da sonst nicht von über die Daten verfügbar wären. Gibt es dafür eine Lösung ?

Und soll die Datenbank Verbindung noch gesondert über ein php Script laufen oder direkt, da es ja nur auf dem Server läuft sollte es eigentlich auch ohne gehen oder ?
06/01/2014 18:02 XxharCs#4
Quote:
Originally Posted by supercracker13 View Post
Es hat sich bei mir noch eine Frage aufgetan:
Undzwar wenn man die Server getrennt laufen lässt um mehr abarbeiten zu können muss trotzdem auf eine Datenbank zugegriffen werden da sonst nicht von über die Daten verfügbar wären. Gibt es dafür eine Lösung ?
Einfach ganz normal eine Datenbank Verbindung im Programm verwenden? Für C# so wie viele andere Programmiersprachen gibt es Connectoren für MySQL/PostgreSQL etc.

Jedoch wenn du mehrere Server Programme haben wirst, also mehrere Server getrennt laufen lässt, musst du die Verbindung richtig isolieren um etwaige Lost Updates etc. zu vermeiden.