Revolver Next — Teil 3: Datenbanken, Dienste und ein stummes Orchester
Revolver Next verwendet nicht nur ein Datenbank-System, sondern gleich vier unterschiedliche. Außerdem ergänzen spezielle Dienste die Cloud-Architektur. Wir stellen die wichtigsten vor.
PostgreSQL: Die beste Datenbank
PostgreSQL ist seit vielen Jahren das stabile Rückgrat von Revolver. Und das bleibt auch bei Revolver Next so. Obwohl schon seit 1996 auf dem Markt, ist Postgres nach wie vor eines der besten und beliebtesten Datenbank-Systeme.
Wie bisher hat jeder Kunde seine eigene, private Datenbank. Dadurch bleibt alles flexibel und isoliert.
Jede Datenbank läuft redundant auf drei unterschiedlichen physikalischen Servern. Fällt einer der Server aus, übernehmen automatisch die beiden anderen seine Aufgaben, bis ein Ersatz-Server gestartet ist.
OpenSearch: Findet einfach alles
Eines der Entwicklungsziele von Revolver Next ist eine globale, leistungsfähige Suchfunktion. Somit mussten wir eine echte Volltext-Suchmaschine integrieren. OpenSearch (das aus dem ElasticSearch-Projekt hervorgegangen ist) gilt als die bekannteste und beste Suchmaschine für diesen Zweck.
Cassandra: Sichert mittelfristige Daten
Cassandra ist eine verteilte NoSQL-Datenbank, die vor allem für eine maximale Ausfallsicherheit bekannt ist. Sie kann große Mengen strukturierter Daten parallel verarbeiten. Zwei Beispiele für die Anwendung in Revolver Next sind die Speicherung von Zugangs-Token und von Benachrichtigungen.
Redis: Reagiert ultraschnell
Redis ist eine ultraschnelle NoSQL-Datenbank. Sie hält alle Daten im Arbeitsspeicher, nicht auf Festplatten — deswegen ist sie so schnell. Sie ist daher ideal für alle Informationen, die ständig aktualisiert und nur für kurze Zeit gespeichert werden müssen, wie zum Beispiel den Online-Status von Benutzern.
Objekt Storage: Speichert Dateien
Jede Datei, die in Revolver Next hochgeladen wird (sei es ein kleines Word-Dokument oder eine riesige Photoshop-Datei), landet in einem speziellen Speicher-System — natürlich verschlüsselt. Hier können theoretisch Milliarden von Dateien abgelegt werden, in fast beliebigen Größen.
SocketCluster: Hält alle Verbindungen
Für die Echtzeit-Aktualisierung aller Daten bauen alle Clients Websocket-Verbindungen in die Cloud auf. Dort warten unsere SocketCluster-Server auf die Anfragen.
Jeder einzelne Server kann hunderttausende parallele Client-Verbindungen halten und überwachen. Durch das Zusammenschalten von mehreren Servern zu einem Cluster können Millionen von Clients bedient werden.
Unser SocketCluster verteilt zum Beispiel alle Push-Benachrichtigungen an die Clients innerhalb von Millisekunden.
Kafka: Lenkt die Datenströme
Kafka ist ein System, um Datenströme innerhalb einer Cloud-Anwendung zu verarbeiten, zu lenken und zwischenzuspeichern. Revolver Next stellt dadurch sicher, dass keine einzige Anfrage eines Benutzers verloren geht — auch nicht bei Lastspitzen.
Kubernetes: Orchestriert Container
Die Revolver Next Prozesse in der Cloud, zum Beispiel die API, laufen in sogenannten Containern auf virtuellen Maschinen. Container sind vorgefertigte, isolierte Einheiten, die einen sicheren Betrieb ermöglichen.
Kubernetes ist dafür zuständig, diese Container zu "orchestrieren", wie man das in der Fachsprache nennt. Das bedeutet: Kubernetes überwacht permanent jeden einzelnen Container. Sollte einer ausfallen, wird sofort ein Ersatz gestartet.
Sollte die Last steigen, werden zusätzliche Container gestartet. Sobald die Last fällt, sinkt die Zahl wieder — diese Last-Anpassung nennt man skalieren.
Das alles passiert vollautomatisch und rund um die Uhr.
Fazit
Die Revolver Next Cloud läuft seit ziemlich genau einem Jahr im Testbetrieb — und das äußerst zuverlässig. Insgesamt besteht das System aus knapp 20 Komponenten, die Hand in Hand arbeiten.
Komplexe Technik, mit der Sie sich als Anwender aber nie auseinandersetzen müssen. Wir sorgen dafür, dass alles läuft.
In den kommenden Wochen stellen wir hier im Blog vorab einige Aspekte der neuen Revolver-Generation vor. Für das erste Quartal 2023 suchen wir noch Beta-Tester aus unserem Kundenkreis, die den ersten Teil des neuen Systems, das Projekt-Management, genauer unter die Lupe nehmen möchten.