2010-12-14 17 views
-1

Nun, wie klar ist, dass AJAX-basierte Chats nicht skalieren, was würden Sie für Chats verwenden? Benutzerdefinierte Server? oder ne andere Methoden?Chat-Server für Schienen

Da bei Chat-Verbindungen jede Chat-Verbindung viel Speicher benötigt, ist es nicht möglich, für jede Nachricht sogar Rails auszuführen? Was empfehlen Sie hier?

Grüße, Amit

+3

Akzeptieren Sie eine Antwort, wenn Sie möchten, dass andere Leute Ihnen helfen – shingara

+1

Warum denken Sie, dass der Chat-Server Ajax Based nicht skaliert? Highrise/chat.stackoverflow hat das so gemacht ... – shingara

+0

Ajax-basierte Chat-Systeme verwenden lange Abfragen und mit Servern wie Apache skalieren sie nicht. Mit Nginx erhöht sich die Anzahl der Chat-Benutzer, aber Event Hat hat ein Limit. Dienste wie Google Mail und Facebook können nicht mit AJAX ausgeführt werden, da sie überlastet sind. – Amit

Antwort

1

Ich habe auch versucht, eine Beispiel-Chat-App mit AJAX (in gebaut Ajax.updater) zu implementieren, aber nicht trainieren. Ich bin mir sicher, dass es eine gute Ajax-Lösung geben könnte.

Aber da diese auf dem Server-Push-Technologie Versuch basiert, Moloch (http://juggernaut.rubyforge.org/) Ich persönlich habe nicht versucht, aber scheint, wie ist gut

oder auch Web-sokets betrachten (in HTML5) möglich

prost

sameera

0

Haben Sie einige Daten auf der Grundlage quantitative Tests (abgesehen von Ihren eigenen qualitativen Schlussfolgerungen)?

+0

Ja, ich habe nach Speicherverbrauch von Apache und Nginx mit 10.000 Benutzern gesucht. Apache entpuppte sich als Maschinenkiller, während nginx überlebte, aber ich bin mir nicht sicher, wie lange noch. Es gibt einen Grund, warum so etwas wie sockets.io gemacht wurde ... um das Laden des Webservers zu verhindern. Das macht mich ziemlich sicher, dass Long Polling kein skalierbarer Ansatz ist. – Amit

0

Warum erstellen Sie irgendeine Art von benutzerdefinierten Server für den Chat? IRC gibt es schon eine ganze Weile und ist erprobt.

Die eigentliche Frage hier sollte über clientseitige Implementierungen sein, anstatt zu versuchen, das Radserver-Imo neu zu erfinden.

+0

hmm ... einverstanden ... ne Idee dafür? – Amit

1

Leider ist Ihr Beitrag wird auf einer falschen Prämisse aus. AJAX-basierte Chat kann sicherlich skalieren, Sie müssen es nur richtig machen. Juggernaut 2 zum Beispiel verwendet Node.js, um viele gleichzeitige Verbindungen zu handhaben. Sie haben Recht, Sie können 10.000 Verbindungen auf einem einzelnen Server nicht verarbeiten. Dafür ist Load Balancing gedacht.