English | Deutsch

Horizontale Skalierung mit Replicas

In Codesphere kann die horizontale Skalierung mit einem einzigen Klick durchgeführt werden. Erfahren Sie, wie das funktioniert und wie Sie Ihre Anwendung für Hochverfügbarkeitsfälle einrichten.

December 14, 2023 2 Min Lesezeit
Horizontale Skalierung mit Replicas
Horizontale Skalierung mit Replicas

Simon Pfeiffer

Head of Product @ Codesphere

Über Replicas

Replicas werden für die horizontale Skalierung verwendet und ermöglichen es Ihnen, mehrere Ressourcen parallel mit Ihrer Anwendung zu verbinden. Auf diese Weise kann Ihre Anwendung mehr Anfragen parallel bearbeiten.

Die Replicas von Codesphere können mit wenigen Klicks zu jedem Always-on Workspace hinzugefügt werden. Sie können bis zu 10 Replicas (und mehr in unserem Enterprise Tier) zu Ihren Workspaces hinzufügen. Jede zusätzliche Replica kostet genauso viel wie der Plan des Workspaces. Wenn Sie einen Workspace des Micro-Plans auf 4 Replicas einstellen, kostet das 4 * $5 = $20. Der Standardwert für Replicas ist 1. In diesem Fall haben Sie nur den einen Haupt-Workspace und keine zusätzlichen Replicas.

Wie Replicas funktionieren

Jede Replica hat ihre eigenen Rechenressourcen (CPUs und RAM). Alle Replicas verwenden jedoch das Verzeichnis /home/user/app als gemeinsames Dateisystem. Der zugewiesene SSD-Speicher für Ihren Plan wird von den Replicas gemeinsam genutzt. Wenn Sie dieses Dateisystem ändern, z. B. über einen Installationsschritt in der Pipeline, über den Dateieditor der IDE oder das Terminal, wirkt sich diese Änderung automatisch auf alle Replicas aus. Dateien, die außerhalb des App-Verzeichnisses liegen, sind nicht verfügbar.

Um Replicas nutzen zu können, müssen Sie eine CI-Pipeline einrichten. Die Prepare- und Testphase wird nur auf der Hauptreplica ausgeführt. Alle Replicas können auf die gleichen installierten Pakete und Builds im (gemeinsamen) Ordner /home/user/app zugreifen. Die Run-Phase wird auf jeder Replica ausgeführt. Um die Terminalausgabe zu sehen, wählen Sie die entsprechende Replica-ID im Terminalausgabefenster auf der rechten Seite.

replicas_pipeline.webp

Vermeidung von widersprüchlichen/gleichzeitigen Schreibvorgängen im Dateisystem

Der Vorteil eines gemeinsam genutzten Dateisystems besteht darin, dass Sie sich nicht um die Inkonsistenz von Daten und Dateien kümmern müssen.

Allerdings gibt es bei einem gemeinsam genutzten Dateisystem einen Haken. Sie müssen aktiv sicherstellen, dass die Replicas nicht versuchen, gleichzeitig in dieselbe Datei zu schreiben. Ein offensichtlicher Fall, in dem dies geschieht, sind die Protokolldateien. Sie möchten in der Lage sein, die Protokolle auf Replica-Ebene einzusehen (d.h. um herauszufinden, warum eine Replica ausfällt und andere nicht).

Codesphere stellt eine Umgebungsvariable CS_REPLICA zur Verfügung, die zur Identifizierung der jeweiligen Replicas über eine eindeutige ID verwendet werden kann. Mit diesem Wert können Sie eine Logik aufbauen, so dass jede Replica ihre Logs in eine eigene Datei oder einen eigenen Ordner schreibt. Wenn Sie Probleme bei der Einrichtung haben, hilft Ihnen unser Team gerne weiter!

Umgebungsvariablen und Replicas

Neben den von Codesphere bereitgestellten Umgebungsvariablen für die Replicas können Sie auch Umgebungsvariablen über Setup/Env Vars festlegen und verwenden. Wenn Sie bestehende Variablen hinzufügen oder ändern, müssen Sie die Run Stage der CI-Pipeline erneut ausführen, damit alle Replicas mit den Änderungen ausgeführt werden.

Über den Autor

Horizontale Skalierung mit Replicas

Simon Pfeiffer

Head of Product @ Codesphere

Simon ist verantwortlich für unser Produktmarketing und die Roadmap. Er ist ein ehemaliger Green-Tech-Gründer und IT-Berater bei KPMG. Er berichtet über Trends und Erkenntnisse aus dem Aufbau von Codesphere.

Weitere Beiträge

Deployment von Landscapes auf Codesphere

Deployment von Landscapes auf Codesphere

Lernen Sie, wie Sie mehrere Dienste, die unabhängig voneinander vertikal und horizontal skaliert werden können, innerhalb eines einzigen Workspace deployen und runen können. Geeignet für das Hosting ganzer Anwendungslandschaften.

Monitoring & Alerting

Monitoring & Alerting

Erfahren Sie, wie Sie auf das in Codesphere integrierte Ressourcen Monitoring zugreifen und die Betriebszeit Ihrer Anwendungen überprüfen können.

Pfadbasiertes Routing

Pfadbasiertes Routing

Erfahren Sie, wie Sie mehrere unabhängige Anwendungen mit einer einzigen Domäne verbinden, indem Sie verschiedene Pfade mit unterschiedlichen Workspaces verknüpfen