Skalieren von eigenständigen Service Fabric-Clustern
Ein Service Fabric-Cluster enthält eine per Netzwerk verbundene Gruppe von virtuellen oder physischen Computern, auf denen Ihre Microservices bereitgestellt und verwaltet werden. Ein physischer oder virtueller Computer, der Teil eines Clusters ist, wird als Knoten bezeichnet. Cluster können Tausende von Knoten enthalten. Nach dem Erstellen eines Service Fabric-Clusters können Sie den Cluster horizontal (Änderung der Anzahl von Knoten) oder vertikal (Änderung der Ressourcen von Knoten) skalieren. Sie können die Skalierung für den Cluster jederzeit durchführen – auch bei Ausführung von Workloads im Cluster. Wenn der Cluster skaliert wird, werden Ihre Anwendungen ebenfalls automatisch skaliert.
Gründe für das Skalieren des Clusters Anwendungsanforderungen ändern sich im Laufe der Zeit. Unter Umständen müssen Sie die Clusterressourcen erhöhen, um auf eine höhere Anwendungsworkload oder vermehrten Netzwerkdatenverkehr zu reagieren, oder verringern, wenn die Nachfrage nachlässt.
Horizontales Herunter- und Hochskalieren
Hierbei wird die Anzahl von Knoten im Cluster geändert. Nachdem die neuen Knoten in den Cluster eingebunden wurden, verschiebt der Cluster Resource Manager Dienste auf diese Knoten, um die Last für die vorhandenen Knoten zu reduzieren. Sie können die Anzahl von Knoten auch verringern, falls die Ressourcen des Clusters nicht effizient genutzt werden. Wenn Knoten den Cluster verlassen, werden Dienste von diesen Knoten verschoben, und die Last für die verbleibenden Knoten erhöht sich. Mit der Reduzierung der Anzahl von Knoten in einem Cluster, der in Azure ausgeführt wird, können Sie Kosten sparen. Der Grund ist, dass Sie für die Anzahl von VMs zahlen, die Sie nutzen, und nicht für die Workload auf diesen VMs.
- Vorteile: Praktisch unbegrenzte Skalierungsmöglichkeiten. Wenn Ihre Anwendung auf Skalierbarkeit ausgelegt ist, können Sie sie unbegrenzt erweitern, indem Sie weitere Knoten hinzufügen. Die Tools in Cloudumgebungen machen das Hinzufügen und Entfernen von Knoten einfach, sodass Sie die Kapazität leicht anpassen können, und Sie zahlen nur für die genutzten Ressourcen.
- Nachteile: Anwendungen müssen für Skalierbarkeit konzipiert sein. Für Anwendungsdatenbanken und die Persistenz ist ggf. zusätzlicher Architekturaufwand erforderlich, damit die Skalierung hierfür ebenfalls möglich ist. Reliable Collections in zustandsbehafteten Service Fabric-Diensten erleichtern Ihnen die Skalierung Ihrer Anwendungsdaten aber deutlich.
Mit eigenständigen Clustern können Sie Service Fabric-Cluster lokal oder über den Cloudanbieter Ihrer Wahl bereitstellen. Knotentypen bestehen je nach Bereitstellung aus physischen oder virtuellen Computern. Verglichen mit Clustern, die in Azure ausgeführt werden, ist der Prozess zum Skalieren eines eigenständigen Clusters etwas aufwändiger. Sie müssen die Anzahl von Knoten im Cluster manuell ändern und dann ein Upgrade für die Clusterkonfiguration durchführen.
Durch das Entfernen von Knoten werden möglicherweise mehrere Upgrades initiiert. Einige Knoten sind mit dem Tag IsSeedNode=”true”
gekennzeichnet und können durch Abfragen des Clustermanifests mit Get-ServiceFabricClusterManifest ermittelt werden. Das Entfernen solcher Knoten dauert möglicherweise länger als bei anderen Knoten, da die Seed-Knoten in einem solchen Szenario verschoben werden müssen. Der Cluster muss mindestens drei primäre Knotentypen verwalten.
Warnung
Die für den Cluster angegebene Knotenanzahl sollte mindestens der Clustergröße der Zuverlässigkeitsstufe entsprechen. Andernfalls besteht die Gefahr, dass die Replizierung von Service Fabric-Systemdiensten im Cluster beeinträchtigt und der Cluster destabilisiert oder sogar gelöscht wird.
Beachten Sie beim Skalieren eines eigenständigen Clusters die folgenden Richtlinien:
- Das Ersetzen primärer Knoten muss für jeden Knoten einzeln ausgeführt werden. Das Entfernen und Hinzufügen in Batches ist nicht möglich.
- Überprüfen Sie vor dem Entfernen eines Knotentyps, ob andere Knoten auf den Knotentyp verweisen. Entfernen Sie diese Knoten, bevor Sie den entsprechenden Knotentyp entfernen. Nachdem alle zugehörigen Knoten entfernt wurden, können Sie den NodeType aus der Clusterkonfiguration entfernen und über Start-ServiceFabricClusterConfigurationUpgrade ein Konfigurationsupgrade starten.
Weitere Informationen finden Sie unter Hinzufügen oder Entfernen von Knoten für einen eigenständigen Service Fabric-Cluster unter Windows Server.
Zentrales Hoch- und Herunterskalieren
Hierbei werden die Ressourcen (CPU, Arbeitsspeicher oder Speicher) von Knoten im Cluster geändert.
- Vorteile: Die Software- und Anwendungsarchitektur bleibt gleich.
- Nachteile: Begrenzte Skalierung, da eine Beschränkung in Bezug auf die Erhöhung von Ressourcen auf einzelnen Knoten besteht. Ausfallzeiten, da physische oder virtuelle Computer offline geschaltet werden müssen, um Ressourcen hinzuzufügen oder zu entfernen.
Nächste Schritte
- Machen Sie sich mit der Skalierbarkeit von Anwendungen vertraut.
- Skalieren eines Service Fabric-Clusters (horizontal hoch oder herunter)
- Programmgesteuertes Skalieren eines Service Fabric-Clusters (per Azure Fluent-Compute-SDK)
- Horizontales Herunter- oder Hochskalieren eines eigenständigen Clusters