Hi,
Ich möchte mit AJAX für eine Chat Software eine Echtzeitkommunikation zwischen Server und Client herstellen.
Deshalb dachte ich mit PHP einen Server zu bauen der die HTTP Verbindung zum Client offen hält und ich zu den offenen Verbindungen der Clients Nachrichten sende.
Soweit kein Problem nur....
Wie handle ich am Besten viele Clients?
Ich hatte die Idee das ich die Clients auf verschiedene Serverprozesse verteile.
Also nach dem Motto wen Zugriff auf 0.realtime.example.com dann Serverprozess 0 usw.
Nur ein Problem.. Wie löse ich es am Performantesten wen z.B. ein Client auf Server 0 eine Nachricht an einen Client auf Server 1 Senden möchte.
abc_server0 > 0.xyz.example.com (Nachricht wird verarbeitet. Antwort gesendet) //An diesem Punkt muss die Nachricht ja an z.B. Server 1 weitergeleitet werden das dieser die Nachricht an dem gewünschten Client ausliefern kann.
1.xyz.example.com > maxi_server1
Wenn ich jetzt aber die Kommunikation zwischen den Servern auch mit Sockets regle, habe ich dann hätte ich doch gleich alles ein Script machen lassen können oder?
Oder ich setze einen Kommunikationsserver ein also:
Was sagt ihr? Wie soll ich das am Besten Lösen? Oder gibt es schon fertige Sachen die ich nutzen kann?
Ich möchte mit AJAX für eine Chat Software eine Echtzeitkommunikation zwischen Server und Client herstellen.
Deshalb dachte ich mit PHP einen Server zu bauen der die HTTP Verbindung zum Client offen hält und ich zu den offenen Verbindungen der Clients Nachrichten sende.
Soweit kein Problem nur....
Wie handle ich am Besten viele Clients?
Ich hatte die Idee das ich die Clients auf verschiedene Serverprozesse verteile.
Also nach dem Motto wen Zugriff auf 0.realtime.example.com dann Serverprozess 0 usw.
Nur ein Problem.. Wie löse ich es am Performantesten wen z.B. ein Client auf Server 0 eine Nachricht an einen Client auf Server 1 Senden möchte.
abc_server0 > 0.xyz.example.com (Nachricht wird verarbeitet. Antwort gesendet) //An diesem Punkt muss die Nachricht ja an z.B. Server 1 weitergeleitet werden das dieser die Nachricht an dem gewünschten Client ausliefern kann.
1.xyz.example.com > maxi_server1
Wenn ich jetzt aber die Kommunikation zwischen den Servern auch mit Sockets regle, habe ich dann hätte ich doch gleich alles ein Script machen lassen können oder?
Oder ich setze einen Kommunikationsserver ein also:
Code:
Cleint_auf_Server1 > Server1 (Verarbeitung) > Kommunikationsserver > Server2 > Client_auf_Server2 Cleint_auf_Server1 < Antwort
Was sagt ihr? Wie soll ich das am Besten Lösen? Oder gibt es schon fertige Sachen die ich nutzen kann?
Kommentar