Skalierung von Parse Server

scaling_parse_server

Jetzt, im Jahr 2020, sind mehr als 4 Jahre vergangen, seit Facebook beschlossen hat, die Open-Source-Version von Parse zu veröffentlichen. In dieser Zeit wurden viele neue Funktionen veröffentlicht und die Gemeinschaft der Unterstützer ist größer denn je. Wir sind stolz auf die Anzahl der Parse.com-Nutzer, die sich in der Folge für die Parse-Server-Plattform von Back4App entschieden haben. Wir möchten mit der Community einige der Lektionen teilen, die wir seit Beginn dieser Reise gelernt haben.

Die Skalierung von Parse war für viele Parse-Benutzer ein Problem und wir werden die Geheimnisse der Skalierung von Parse lüften.

Parse Server wurde als Open-Source-Version von Parse.com gestartet, hat sich aber auch in vielerlei anderer Hinsicht als wertvolle Ressource erwiesen. Er bietet ein hervorragendes NodeJS-Framework für die Erstellung und Skalierung Ihrer App. Bei Back4App haben wir einige Apps auf bis zu 10.000 Req/s (etwa 80.000 gleichzeitige Benutzer) skaliert. All dies ist möglich, während Sie die volle Kontrolle über Ihr Backend behalten und die Art von Sperren und Einschränkungen vermeiden, die mit Black Box-Lösungen einhergehen.

Diese Erfahrung beweist, dass Parse Server auf weit mehr als die 600 req/s skalieren kann, die Parse.com auf seiner Preisseite (siehe unten) angibt, und damit weit über die Grenzen hinausgeht, die einige andere Black Box Backends setzen. Eine Reihe wertvoller Funktionen sorgt dafür, dass Parse Server die beste Option für die Skalierung Ihrer Anwendung ist. Ich möchte hier einige der wichtigsten dieser Elemente hervorheben.

parserequests

1-Skalierung ohne großes Re-Engineering

Flexibilität beim Hinzufügen neuer Module: Sobald Ihre App wächst, benötigen Sie neue Funktionen, um die Nutzer zu binden oder sogar die Akquise zu verbessern, und manchmal ist eine komplette Backend-Plattform nicht verfügbar. Da es sich bei Parse Server um eine Open-Source-Lösung handelt, können Sie eine Reihe von npm(NodeJS)-Modulen installieren und neue APIs für den Zugriff auf erweiterte Funktionen integrieren.

Vertikale und horizontale Skalierung: Parse Server wurde entwickelt, um eine problemlose horizontale Skalierung zu unterstützen, zum Beispiel um einen Zustand zwischen den Instanzen zu teilen. Sie können einfach neue identische Parse Server-Instanzen erstellen, um die Verarbeitung Ihrer App-Anfragen zu teilen. Dies hilft Ihnen, die beste Balance zwischen vertikaler Skalierung, die lediglich Ihre Maschinenkonfigurationen erhöht, und horizontaler Skalierung zur Optimierung Ihrer Leistung und Kosten zu finden. So können Sie beispielsweise mit einer Instanz von Parse Server auf einem einzigen Rechner beginnen und vertikal auf eine Cloud-Plattform skalieren, während Sie Kosten und Leistung ständig überwachen. Sobald Ihre Anwendung wächst, können Sie eine Kopie dieser Server erstellen und einen Load Balancer hinzufügen, um die Anfragen besser zu verteilen.

Betreiben Sie Ihre Anwendung in einer ausfallsicheren Infrastruktur

Redundanzen sind wichtig, wenn Sie mit der Skalierung Ihrer Anwendung beginnen. Das Letzte, was Sie wollen, ist, dass Ihr Server bei einer großen Anzahl von Benutzern ausfällt. Stellen Sie sicher, dass Sie die folgende Struktur verwenden, sobald Sie mit der Skalierung Ihrer Anwendung beginnen.

  • Lastverteiler
  • Automatische Skalierung für Anwendungsserver (mindestens zwei)
  • Replica Set für Datenbankserver (zwei Server + ein Arbiter)

mbaas architecture

Optimieren Sie Ihre Abfrageleistung: Sie können benutzerdefinierte Parse Server-Anfragen verwenden, um die beste Leistung für jeden Anwendungstyp zu erhalten.

horizontal_scaling_parse

2-Der Parse Server-Stack ist solide

Auf den ersten Blick mag es wie eine Herausforderung aussehen, aber die Skalierbarkeit ist tatsächlich ziemlich beeindruckend. Trotz der Single-Thread-Natur von Javascript kann Node mithilfe des Cluster-Moduls die Vorteile mehrerer Kerne nutzen – so kann ein Entwickler ein Netzwerk von Prozessen mit gemeinsamen Ports erstellen. Zur Skalierung über mehrere Maschinen kann der Entwickler nginx verwenden, um die empfangenen Anfragen auf mehrere Parse-Server-Instanzen zu verteilen. Darüber hinaus kann die Site-Authentifizierung von Node mit der connect-auth-Bibliothek effizient ausgeführt werden. Dieser Prozess vermeidet einige der üblichen Entwicklungsfehler und die Geschwindigkeit ist ein weiterer großer Vorteil.

3-Der Einsatz von Parse Server ist überall möglich

Sie können Parse Server auf Servern Ihrer Wahl installieren. So können Sie Probleme wie Latenzzeiten vermeiden und die beste Infrastruktur für Ihre Bedürfnisse nutzen. Wenn Sie über die nötigen Fähigkeiten verfügen, können Sie Ihre eigene, für Ihre Anwendung optimierte Infrastruktur aufbauen und Parse Server hosten. Sie können sich auch für eine Cloud-Lösung entscheiden, wenn Sie glauben, dass diese besser funktioniert.

Es ist möglich, Parse in jeder größeren, auf dem Markt verfügbaren Cloud zu betreiben. Beispiele sind AWS, Google Cloud, Digital Ocean oder Azure. Wenn Sie einen verwalteten und spezialisierten Service bevorzugen, können Sie sich für Back4app entscheiden.

Wir kommen zu dem Schluss, dass das Open-Source-Modell der Schlüssel zum Erfolg von Parse Server ist. Dieses Modell stellt sicher, dass Sie mit dem Framework machen können, was Sie wollen, sobald Sie Ihre Anwendung skalieren. Dies erklärt zu einem großen Teil, warum Parse Server das beliebteste Open-Source-Framework für die Erstellung von App-Backends geworden ist. Derzeit hat das Git-Repository mehr als 26000 Stargazer, und die Community umfasst mehr als 100.000k Entwickler.

Hat Ihnen dieser Beitrag gefallen? Melden Sie sich kostenlos bei Back4App an.

Wie skaliert man den Parse-Server?

Um die höchste Leistung mit großen Parse-Apps zu erreichen, sollten Sie Folgendes beachten:
– Optimieren Sie Ihre Abfragen hinsichtlich der Leistung;
– Führen Sie Ihre App in einer ausfallsicheren und redundanten Struktur aus;
– Fügen Sie NPM-Module umfassend hinzu.

Wie groß kann eine Parse-App sein?

Bei Back4app haben wir Apps bereits über die 10.000 Anfragen pro Sekunde skaliert. Mit der entsprechenden Infrastruktur können die Apps also ziemlich groß werden.

Wo kann ich Parse bereitstellen?

Sie können Parse in spezialisierten Parse-Hosting-Diensten wie Back4app oder in jeder Cloud wie AWS, Azure, Alibaba, Google Cloud oder Digital Ocean bereitstellen.


Leave a reply

Your email address will not be published.