2016-06-04 1 views
5

Ich bin gespannt, wie die interne Implementierung von Firebase-Listenern aussieht?Preiswerte Firebase-Hörer

Ich habe Firebase-Ingenieure gehört sagen Firebase Listeners sind kostengünstig zu bedienen und kann so viel benötigt werden. Während ich stimme zu, dass sie die App in Echtzeit machen. Was passiert, wenn ich eine Gruppe von Firebase-Listenern in meiner App habe (eine Echtzeit-Schachanwendung für mehrere Benutzer).

Die Zuhörer hören eine Menge Aktionen zu, einschließlich wenn ein Zug von einem Spieler in einem Spiel gemacht wird wenn ein neues Spiel gestartet wird. Wenn ich Hunderttausende von Benutzern benutze, die die Anwendung jeden Tag gleichzeitig benutzen, ist es einfach, sich die Skalierung vorzustellen.

Wie behandelt Firebase so viele Anfragen auf ihrem Server, da sie dem Endbenutzer die Macht von Zuhörern gegeben haben.

Wir können so viele Zuhörer haben wie wir wollen in unserer firebase App. Wie ist das günstig?

Bitte korrigieren Sie mich, wenn ich falsch in meinen inhärenten Annahmen bin.

Antwort

5

Firebase verwendet WebSockets, eine dauerhafte Verbindung zum Server. Dies bedeutet, dass Sie sich keine Sorgen machen müssen, eine Anfrage zu stellen, da die einzige HTTP-Anfrage, die gemacht wird, am Anfang ist, den Socket zu erstellen. Here ist mehr Information über Web-Sockets, die ein anderes Protokoll als HTTP ist. In Ihrem Fall ist es also durchaus möglich, viele separate "Anfragen" für die Daten zu stellen, da kein echter Overhead zu berücksichtigen ist. Das Radio des Geräts ist bereits eingeschaltet und ein WebSocket-Header ist lediglich 6 Byte groß.

+0

Ich denke, die Frage ist eher, wie der Server weiß, welche Daten an jeden Client gesendet werden (zumindest ist das die Antwort, nach der meine Neugier sucht). Ich kann mir keine Implementierung vorstellen, die kostengünstig ist (hinsichtlich Geschwindigkeit und Speicher). –