Skalieren von eigenständigen Service Fabric-ClusternScaling Service Fabric standalone clusters

Ein Service Fabric-Cluster enthält eine per Netzwerk verbundene Gruppe von virtuellen oder physischen Computern, auf denen Ihre Microservices bereitgestellt und verwaltet werden.A Service Fabric cluster is a network-connected set of virtual or physical machines into which your microservices are deployed and managed. Ein physischer oder virtueller Computer, der Teil eines Clusters ist, wird als Knoten bezeichnet.A machine or VM that's part of a cluster is called a node. Cluster können Tausende von Knoten enthalten.Clusters can contain potentially thousands of nodes. 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.After creating a Service Fabric cluster, you can scale the cluster horizontally (change the number of nodes) or vertically (change the resources of the nodes). Sie können die Skalierung für den Cluster jederzeit durchführen – auch bei Ausführung von Workloads im Cluster.You can scale the cluster at any time, even when workloads are running on the cluster. Wenn der Cluster skaliert wird, werden Ihre Anwendungen ebenfalls automatisch skaliert.As the cluster scales, your applications automatically scale as well.

Gründe für das Skalieren des ClustersWhy scale the cluster? Anwendungsanforderungen ändern sich im Laufe der Zeit.Application demands change over time. 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.You may need to increase cluster resources to meet increased application workload or network traffic or decrease cluster resources when demand drops.

Horizontales Herunter- und HochskalierenScaling in and out, or horizontal scaling

Hierbei wird die Anzahl von Knoten im Cluster geändert.Changes the number of nodes in the cluster. 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.Once the new nodes join the cluster, the Cluster Resource Manager moves services to them which reduces load on the existing nodes. Sie können die Anzahl von Knoten auch verringern, falls die Ressourcen des Clusters nicht effizient genutzt werden.You can also decrease the number of nodes if the cluster's resources are not being used efficiently. Wenn Knoten den Cluster verlassen, werden Dienste von diesen Knoten verschoben, und die Last für die verbleibenden Knoten erhöht sich.As nodes leave the cluster, services move off those nodes and load increases on the remaining nodes. 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.Reducing the number of nodes in a cluster running in Azure can save you money, since you pay for the number of VMs you use and not the workload on those VMs.

  • Vorteile: Praktisch unbegrenzte Skalierungsmöglichkeiten.Advantages: Infinite scale, in theory. Wenn Ihre Anwendung auf Skalierbarkeit ausgelegt ist, können Sie sie unbegrenzt erweitern, indem Sie weitere Knoten hinzufügen.If your application is designed for scalability, you can enable limitless growth by adding more nodes. 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.The tooling in cloud environments makes it easy to add or remove nodes, so it's easy to adjust capacity and you only pay for the resources you use.
  • Nachteile: Anwendungen müssen für Skalierbarkeit konzipiert sein.Disadvantages: Applications must be designed for scalability. Für Anwendungsdatenbanken und die Persistenz ist ggf. zusätzlicher Architekturaufwand erforderlich, damit die Skalierung hierfür ebenfalls möglich ist.Application databases and persistence may require additional architectural work to scale as well. Reliable Collections in zustandsbehafteten Service Fabric-Diensten erleichtern Ihnen die Skalierung Ihrer Anwendungsdaten aber deutlich.Reliable collections in Service Fabric stateful services, however, make it much easier to scale your application data.

Mit eigenständigen Clustern können Sie Service Fabric-Cluster lokal oder über den Cloudanbieter Ihrer Wahl bereitstellen.Standalone clusters allow you to deploy Service Fabric cluster on-premises or in the cloud provider of your choice. Knotentypen bestehen je nach Bereitstellung aus physischen oder virtuellen Computern.Node types are comprised of physical machines or virtual machines, depending on your deployment. Verglichen mit Clustern, die in Azure ausgeführt werden, ist der Prozess zum Skalieren eines eigenständigen Clusters etwas aufwändiger.Compared to clusters running in Azure, the process of scaling a standalone cluster is a little more involved. Sie müssen die Anzahl von Knoten im Cluster manuell ändern und dann ein Upgrade für die Clusterkonfiguration durchführen.You must manually change the number of nodes in the cluster and then run a cluster configuration upgrade.

Durch das Entfernen von Knoten werden möglicherweise mehrere Upgrades initiiert.Removal of nodes may initiate multiple upgrades. Einige Knoten sind mit dem Tag IsSeedNode=”true” gekennzeichnet und können durch Abfragen des Clustermanifests mit Get-ServiceFabricClusterManifest ermittelt werden.Some nodes are marked with IsSeedNode=”true” tag and can be identified by querying the cluster manifest using Get-ServiceFabricClusterManifest. 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.Removal of such nodes may take longer than others since the seed nodes will have to be moved around in such scenarios. Der Cluster muss mindestens drei primäre Knotentypen verwalten.The cluster must maintain a minimum of three primary node type nodes.

Warnung

Die für den Cluster angegebene Knotenanzahl sollte mindestens der Clustergröße der Zuverlässigkeitsstufe entsprechen.We recommend that you do not lower the node count below the Cluster Size of the Reliability Tier for the cluster. Andernfalls besteht die Gefahr, dass die Replizierung von Service Fabric-Systemdiensten im Cluster beeinträchtigt und der Cluster destabilisiert oder sogar gelöscht wird.This will interfere with the ability of the Service Fabric System Services to be replicated across the cluster, and will destabilize or possibly destroy the cluster.

Beachten Sie beim Skalieren eines eigenständigen Clusters die folgenden Richtlinien:When scaling a standalone cluster, keep the following guidelines in mind:

  • 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.The replacement of primary nodes should be performed one node after another, instead of removing and then adding in batches.
  • Überprüfen Sie vor dem Entfernen eines Knotentyps, ob andere Knoten auf den Knotentyp verweisen.Before removing a node type, check if there are any nodes referencing the node type. Entfernen Sie diese Knoten, bevor Sie den entsprechenden Knotentyp entfernen.Remove these nodes before removing the corresponding node type. Nachdem alle zugehörigen Knoten entfernt wurden, können Sie den NodeType aus der Clusterkonfiguration entfernen und über Start-ServiceFabricClusterConfigurationUpgrade ein Konfigurationsupgrade starten.Once all corresponding nodes are removed, you can remove the NodeType from the cluster configuration and begin a configuration upgrade using Start-ServiceFabricClusterConfigurationUpgrade.

Weitere Informationen finden Sie unter Hinzufügen oder Entfernen von Knoten für einen eigenständigen Service Fabric-Cluster unter Windows Server.For more information, see scale a standalone cluster.

Zentrales Hoch- und HerunterskalierenScaling up and down, or vertical scaling

Hierbei werden die Ressourcen (CPU, Arbeitsspeicher oder Speicher) von Knoten im Cluster geändert.Changes the resources (CPU, memory, or storage) of nodes in the cluster.

  • Vorteile: Die Software- und Anwendungsarchitektur bleibt gleich.Advantages: Software and application architecture stays the same.
  • Nachteile: Begrenzte Skalierung, da eine Beschränkung in Bezug auf die Erhöhung von Ressourcen auf einzelnen Knoten besteht.Disadvantages: Finite scale, since there is a limit to how much you can increase resources on individual nodes. Ausfallzeiten, da physische oder virtuelle Computer offline geschaltet werden müssen, um Ressourcen hinzuzufügen oder zu entfernen.Downtime, because you will need to take physical or virtual machines offline in order to add or remove resources.

Nächste SchritteNext steps