/ / Was ist besser geeignet, XMPP oder Channel API für ein Chat-System in Google App Engine - Google-App-Engine

Was ist besser geeignet, XMPP oder Channel-API für ein Chat-System in Google App Engine - Google-App-Engine

Ich bin verwirrt, welcher der beiden:XMPP oder Channel API (Google App Engine) sind besser geeignet für die Anforderung: "Benutzer der Anwendung (Authentifizierung: Google-Konto) sollten in der Lage sein, mit anderen Benutzern zu chatten."

Das Chatten mit einem anderen XMPP-Client ist nicht Teil der Anforderung.

Wenn die Anwendung Hunderte oder Tausende von Benutzern hat (über die Chat-Funktion), kann das Kontingent der Channel-API dies verarbeiten?

Kann AJAX alleine die Anforderung erfüllen?

Antworten:

4 für die Antwort № 1

Die XMPP-API dient zum Senden von Nachrichten von Google App Engine an einen beliebigen XMPP-Client - wie den Google Chat-Client in Google Mail.

Die Channel-API dient zum Senden einer Nachricht von der Google App Engine-Instanz an den Browser Ihres Nutzers. Es handelt sich um eine Push-Nachricht.

Solange Sie dafür bezahlen, ja, aber berechnen Sie die Kosten.

Sie können mit AJAX eine Nachricht von einem Browser an die App Engine senden, benötigen jedoch die Channel-API, um die Nachricht von der App Engine an Ihren Browser zurückzusenden.


3 für die Antwort № 2

Hier ist eine sehr kurze Liste der Stärken und Schwächen der einzelnen, die ich kenne:

XMPP

  • Offen, ausgereift, bekannt und gut dokumentiert.
  • Speziell für den Chat gemacht, aber flexibel genug, um andere Dinge zu tun.
  • Verwendet XML (Stärke für einige, Schwäche für andere).
  • Bekannt für relativ hohe Latenz.
  • Kunden in vielen Sprachen (einschließlich JavaScript).

Channels API

  • App Engine proprietär
  • Geringere Latenz
  • Nicht für den Chat "gemacht". Möglicherweise müssen Sie darüber hinaus einige Dinge konstruieren.

Der entscheidende Faktor, dass ich eine Entscheidung treffen würdean ist, wie viel von einer Problemlatenz für Sie ist. Ich würde dringend empfehlen, ein Benchmarking durchzuführen, um herauszufinden, wie stark die Latenz für Ihre Anwendung sein wird, und von dort aus die Entscheidung zu treffen.