2012-04-08 17 views
0

Wir arbeiten an einer Chat-basierten Website. Nach einer umfangreichen Literaturrecherche haben wir Tornado als unseren Webserver, socket.io als Client-Side-JavaScript verwendet.Tornado-basierter XMPP-Server und Client

Wir sind gerade dabei, unsere Anwendung zu skalieren, um etwa 50.000 Benutzer gleichzeitig zu bedienen. Ich möchte also fragen, ob Ejabberd zu unserer Architektur passen kann (der Tatsache, dass wir offen für Veränderungen sind, die unsere derzeitige Implementierung drastisch ändern, sofern es sich lohnt) oder gibt es einen anderen Technologie - Stack, um die gleich.

Unser Fokus liegt auf einem Benutzer-Chat.

Antwort

3

Kurz Ja, es kann, mit einem kleinen Nachteil:

Standardweg des XMPP mit Web-Clients zu kommunizieren ist BOSH. BOSH ist eine Long-Polling-Lösung, die über HTTP funktioniert. Websockets sind noch nicht Teil des Bildes, obwohl es eine draft proposal gibt.

Das heißt, die Javascript-Bibliothek, die am häufigsten für Web-Clients verwendet wird, ist Strophe. Es existiert ein (experimentelles?) Plugin sowohl für ejabberd als auch für strophe, wo die Kommunikation über Websockets erfolgt. Das Plugin ist beschrieben here.