Replica's en exemplarenReplicas and instances

Dit artikel geeft een overzicht van de levens cyclus van replica's van stateful Services en instanties van stateless Services.This article gives an overview of the lifecycle of replicas of stateful services and instances of stateless services.

Exemplaren van stateless ServicesInstances of stateless services

Een exemplaar van een stateless service is een kopie van de service logica die wordt uitgevoerd op een van de knoop punten van het cluster.An instance of a stateless service is a copy of the service logic that runs on one of the nodes of the cluster. Een exemplaar binnen een partitie wordt uniek geïdentificeerd door de InstanceId.An instance within a partition is uniquely identified by its InstanceId. De levens cyclus van een exemplaar wordt gemodelleerd in het volgende diagram:The lifecycle of an instance is modeled in the following diagram:

Levens cyclus van exemplaar

Inbouwen (IB)InBuild (IB)

Nadat de cluster resource manager een plaatsing voor het exemplaar heeft bepaald, wordt deze levens cyclus status geactiveerd.After the Cluster Resource Manager determines a placement for the instance, it enters this lifecycle state. Het exemplaar wordt gestart op het knoop punt.The instance is started on the node. De toepassingshost is gestart, het exemplaar wordt gemaakt en vervolgens geopend.The application host is started, the instance is created and then opened. Nadat het opstarten is voltooid, wordt het exemplaar overgezet naar de status gereed.After the startup finishes, the instance transitions to the ready state.

Als de toepassingshost of het knoop punt voor deze instantie vastloopt, wordt deze overgezet naar de status verwijderd.If the application host or node for this instance crashes, it transitions to the dropped state.

Gereed (RD)Ready (RD)

In de status gereed is de instantie actief en wordt deze uitgevoerd op het knoop punt.In the ready state, the instance is up and running on the node. Als dit een betrouw bare service is, is RunAsync aangeroepen.If this instance is a reliable service, RunAsync has been invoked.

Als de toepassingshost of het knoop punt voor deze instantie vastloopt, wordt deze overgezet naar de status verwijderd.If the application host or node for this instance crashes, it transitions to the dropped state.

Sluiten (CL)Closing (CL)

In de sluitings status is Azure Service Fabric bezig met het afsluiten van het exemplaar op dit knoop punt.In the closing state, Azure Service Fabric is in the process of shutting down the instance on this node. Dit kan te wijten zijn aan een groot aantal redenen: bijvoorbeeld een toepassings upgrade, taak verdeling of de service die wordt verwijderd.This shutdown might be due to many reasons--for example, an application upgrade, load balancing, or the service being deleted. Nadat het afsluiten is voltooid, wordt de status verwijderd.After shutdown finishes, it transitions to the dropped state.

Verwijderd (DD)Dropped (DD)

In de status verwijderd wordt het exemplaar niet meer uitgevoerd op het knoop punt.In the dropped state, the instance is no longer running on the node. Op dit punt bewaart Service Fabric de meta gegevens over deze instantie, die uiteindelijk ook worden verwijderd.At this point, Service Fabric maintains the metadata about this instance, which is eventually deleted as well.

Notitie

U kunt overstappen van elke status naar de status verwijderd met behulp van de ForceRemove -optie op Remove-ServiceFabricReplica .It is possible to transition from any state to the dropped state by using the ForceRemove option on Remove-ServiceFabricReplica.

Replica's van stateful ServicesReplicas of stateful services

Een replica van een stateful service is een kopie van de service logica die wordt uitgevoerd op een van de knoop punten van het cluster.A replica of a stateful service is a copy of the service logic running on one of the nodes of the cluster. Daarnaast houdt de replica een kopie bij van de status van die service.In addition, the replica maintains a copy of the state of that service. In twee gerelateerde concepten worden de levens cyclus en het gedrag van stateful replica's beschreven:Two related concepts describe the lifecycle and behavior of stateful replicas:

  • Levens cyclus van replica'sReplica lifecycle
  • Replica-rolReplica role

In de volgende bespreking worden persistente stateful Services beschreven.The following discussion describes persisted stateful services. Voor een volatiel (of in het geheugen) stateful-Services zijn de status omlaag en neergezet gelijkwaardig.For volatile (or in-memory) stateful services, the down and dropped states are equivalent.

Levens cyclus van replica's

Inbouwen (IB)InBuild (IB)

Een inbouwen replica is een replica die wordt gemaakt of voor bereid voor het toevoegen van de replicaset.An InBuild replica is a replica that's created or prepared for joining the replica set. De IB heeft een andere semantiek, afhankelijk van de rol van de replica.Depending on the replica role, the IB has different semantics.

Als de toepassingshost of het knoop punt voor een inbuild-replica vastloopt, wordt deze overgezet naar de status omlaag.If the application host or the node for an InBuild replica crashes, it transitions to the down state.

  • Primaire inbuild-replica's: primaire inbouwen zijn de eerste replica's voor een partitie.Primary InBuild replicas: Primary InBuild are the first replicas for a partition. Deze replica treedt meestal op wanneer de partitie wordt gemaakt.This replica usually happens when the partition is being created. Primaire inbuild-replica's ontstaan ook wanneer alle replica's van een partitie opnieuw worden opgestart of worden verwijderd.Primary InBuild replicas also arise when all the replicas of a partition restart or are dropped.

  • IdleSecondary inbuild-replica's: Dit zijn de nieuwe replica's die worden gemaakt door de cluster resource manager of bestaande replica's die zijn opgetreden en die opnieuw moeten worden toegevoegd aan de set.IdleSecondary InBuild replicas: These are either new replicas that are created by the Cluster Resource Manager, or existing replicas that went down and need to be added back into the set. Deze replica's worden geseed of gebouwd op basis van de primaire versie voordat ze kunnen deel nemen aan de replicaset als ActiveSecondary en deel nemen aan de quorum bevestiging van bewerkingen.These replicas are seeded or built by the primary before they can join the replica set as ActiveSecondary and participate in quorum acknowledgement of operations.

  • ActiveSecondary inbuild-replica's: deze status wordt in sommige query's in acht genomen.ActiveSecondary InBuild replicas: This state is observed in some queries. Het is een optimalisatie waarbij de replicaset niet verandert, maar een replica moet worden gebouwd.It is an optimization where the replica set is not changing, but a replica needs to be built. De replica zelf volgt de normale status computer overgangen (zoals beschreven in de sectie over replica rollen).The replica itself follows the normal state machine transitions (as described in the section on replica roles).

Gereed (RD)Ready (RD)

Een kant-en-klare replica is een replica die deelneemt aan replicatie en quorum bevestiging van bewerkingen.A Ready replica is a replica that's participating in replication and quorum acknowledgement of operations. De status gereed is van toepassing op primaire en actieve secundaire replica's.The ready state is applicable to primary and active secondary replicas.

Als de toepassingshost of het knoop punt voor een kant-en-klare replica vastloopt, wordt deze overgezet naar de status omlaag.If the application host or the node for a ready replica crashes, it transitions to the down state.

Sluiten (CL)Closing (CL)

Een replica krijgt de sluitings status in de volgende scenario's:A replica enters the closing state in the following scenarios:

  • De code voor de replica wordt afgesloten: Service Fabric moet mogelijk de actieve code voor een replica afsluiten.Shutting down the code for the replica: Service Fabric might need to shut down the running code for a replica. Dit kan verschillende oorzaken hebben.This shutdown might be for many reasons. Dit kan bijvoorbeeld gebeuren vanwege een toepassings-, infrastructuur-of infrastructuur upgrade, of vanwege een fout die door de replica is gerapporteerd.For example, it can happen because of an application, fabric, or infrastructure upgrade, or because of a fault reported by the replica. Wanneer het sluiten van de replica is voltooid, wordt de replica overgezet naar de status omlaag.When the replica close finishes, the replica transitions to the down state. De persistente status die is gekoppeld aan deze replica die is opgeslagen op schijf, wordt niet opgeschoond.The persisted state associated with this replica that's stored on disk is not cleaned up.

  • De replica verwijderen uit het cluster: Service Fabric moet mogelijk de persistente status verwijderen en de actieve code voor een replica afsluiten.Removing the replica from the cluster: Service Fabric might need to remove the persisted state and shut down the running code for a replica. Deze afsluiting kan veel oorzaken hebben, bijvoorbeeld taak verdeling.This shutdown might be for many reasons, for example, load balancing.

Verwijderd (DD)Dropped (DD)

In de status verwijderd wordt het exemplaar niet meer uitgevoerd op het knoop punt.In the dropped state, the instance is no longer running on the node. Er is ook geen status meer op het knoop punt.There is also no state left on the node. Op dit punt bewaart Service Fabric de meta gegevens over deze instantie, die uiteindelijk ook worden verwijderd.At this point, Service Fabric maintains the metadata about this instance, which is eventually deleted as well.

Omlaag (D)Down (D)

In de status down wordt de replica code niet uitgevoerd, maar de persistente status voor die replica bestaat op het knoop punt.In the down state, the replica code is not running, but the persisted state for that replica exists on that node. Een replica kan een groot aantal redenen hebben: bijvoorbeeld het knoop punt is niet actief, een crash in de replica code, een toepassings upgrade of replica fouten.A replica can be down for many reasons--for example, the node being down, a crash in the replica code, an application upgrade, or replica faults.

Als de upgrade op het knoop punt is voltooid, wordt de replica door Service Fabric als vereist geopend.A down replica is opened by Service Fabric as required, for example, when the upgrade finishes on the node.

De replica-rol is niet relevant in de status down.The replica role is not relevant in the down state.

Openen (OP)Opening (OP)

Met een down keer replica wordt de openings status geactiveerd wanneer Service Fabric de replica opnieuw moet instellen.A down replica enters the opening state when Service Fabric needs to bring the replica back up again. Deze status kan bijvoorbeeld zijn nadat een code-upgrade voor de toepassing op een knoop punt is voltooid.For example, this state might be after a code upgrade for the application finishes on a node.

Als de toepassingshost of het knoop punt voor een inconsistentie van de replica vastloopt, wordt de status naar beneden overgezet.If the application host or the node for an opening replica crashes, it transitions to the down state.

De replica-rol is niet relevant voor de openings status.The replica role is not relevant in the opening state.

Stand-by (SB)StandBy (SB)

Een stand-by replica is een replica van een persistente service die is afgesloten en vervolgens werd geopend.A StandBy replica is a replica of a persisted service that went down and was then opened. Deze replica kan worden gebruikt door Service Fabric als een andere replica moet worden toegevoegd aan de replicaset (omdat de replica al een deel van de status heeft en het bouw proces sneller is).This replica might be used by Service Fabric if it needs to add another replica to the replica set (because the replica already has some portion of the state and the build process is faster). Nadat de StandByReplicaKeepDuration is verlopen, wordt de stand-by replica verwijderd.After the StandByReplicaKeepDuration expires, the standby replica is discarded.

Als de toepassingshost of het knoop punt van een stand-by-replica vastloopt, wordt deze overgezet naar de status omlaag.If the application host or the node for a standby replica crashes, it transitions to the down state.

De replica-rol is niet relevant voor de status stand-by.The replica role is not relevant in the standby state.

Notitie

Een replica die niet wordt ingeactief of verwijderd, wordt beschouwd als actief.Any replica that's not down or dropped is considered to be up.

Notitie

Het is mogelijk om van een wille keurige status over te stappen naar de status verwijderd met behulp van de ForceRemove -optie op Remove-ServiceFabricReplica .It's possible to transition from any state to the dropped state by using the ForceRemove option on Remove-ServiceFabricReplica.

Replica-rolReplica role

De rol van de replica bepaalt de functie in de replicaset:The role of the replica determines its function in the replica set:

  • Primair (P): er is één primaire set in de replicaset die verantwoordelijk is voor het uitvoeren van lees-en schrijf bewerkingen.Primary (P): There is one primary in the replica set that is responsible for performing read and write operations.
  • ActiveSecondary (S): Dit zijn replica's die status updates ontvangen van de primaire, toe te passen en vervolgens teruggestuurde bevestigingen te sturen.ActiveSecondary (S): These are replicas that receive state updates from the primary, apply them, and then send back acknowledgements. Er zijn meerdere actieve secundaire zones in de replicaset.There are multiple active secondaries in the replica set. Het aantal van deze actieve secundaire zones bepaalt het aantal fouten dat de service kan verwerken.The number of these active secondaries determines the number of faults the service can handle.
  • IdleSecondary (I): deze replica's worden gebouwd door de primaire.IdleSecondary (I): These replicas are being built by the primary. Ze ontvangen de status van de primaire voordat ze kunnen worden gepromoveerd tot actief secundair.They are receiving state from the primary before they can be promoted to active secondary.
  • Geen (N): deze replica's hebben geen verantwoordelijkheid in de replicaset.None (N): These replicas don't have a responsibility in the replica set.
  • Onbekend (U): dit is de initiële rol van een replica voordat een ChangeRole -API-aanroep van service Fabric wordt ontvangen.Unknown (U): This is the initial role of a replica before it receives any ChangeRole API call from Service Fabric.

In het volgende diagram ziet u de overgangen van replica rollen en enkele voorbeeld scenario's waarin ze kunnen optreden:The following diagram illustrates the replica role transitions and some example scenarios in which they can occur:

Replica-rol

  • U-> P: het maken van een nieuwe primaire replica.U -> P: Creation of a new primary replica.
  • U-> I: het maken van een nieuwe niet-actieve replica.U -> I: Creation of a new idle replica.
  • U-> N: verwijdering van een stand-by replica.U -> N: Deletion of a standby replica.
  • I-> S: promotie van de niet-actieve secundaire naar actief secundair zodat de bevestigingen bijdragen aan het quorum.I -> S: Promotion of the idle secondary to active secondary so that its acknowledgements contribute toward quorum.
  • I-> P: de promotie van de niet-actieve secundaire naar de primaire.I -> P: Promotion of the idle secondary to primary. Dit kan gebeuren onder speciale herconfiguraties wanneer de niet-actieve secundaire de juiste kandidaat primair is.This can happen under special reconfigurations when the idle secondary is the correct candidate to be primary.
  • I-> N: de niet-actieve secundaire replica wordt verwijderd.I -> N: Deletion of the idle secondary replica.
  • S-> P: de promotie van de actieve secundaire naar de primaire.S -> P: Promotion of the active secondary to primary. Dit kan worden veroorzaakt door failover van de primaire of primaire verplaatsing die door de cluster resource manager is gestart.This can be due to failover of the primary or a primary movement initiated by the Cluster Resource Manager. Het kan bijvoorbeeld zijn als reactie op een toepassings upgrade of taak verdeling.For example, it might be in response to an application upgrade or load balancing.
  • S-> N: de actieve secundaire replica wordt verwijderd.S -> N: Deletion of the active secondary replica.
  • P-> S: degradatie van de primaire replica.P -> S: Demotion of the primary replica. Dit kan worden veroorzaakt door een primaire verplaatsing die door de cluster resource manager is geïnitieerd.This can be due to a primary movement initiated by the Cluster Resource Manager. Het kan bijvoorbeeld zijn als reactie op een toepassings upgrade of taak verdeling.For example, it might be in response to an application upgrade or load balancing.
  • P-> N: verwijdering van de primaire replica.P -> N: Deletion of the primary replica.

Notitie

Ontwikkel modellen op een hoger niveau, zoals reliable actors en reliable Services, verbergen het concept van replica rollen van de ontwikkelaar.Higher-level programming models, such as Reliable Actors and Reliable Services, hide the concept of replica roles from the developer. In Actors is het begrip van een rol overbodig.In Actors, the notion of a role is unnecessary. In-Services is het grotendeels vereenvoudigd voor de meeste scenario's.In Services, it's largely simplified for most scenarios.

Volgende stappenNext steps

Zie het volgende artikel voor meer informatie over Service Fabric concepten:For more information on Service Fabric concepts, see the following article:

Levenscyclus van Reliable Services - C#Reliable Services lifecycle - C#