Parametri di aggiornamento di un'applicazioneApplication upgrade parameters

Questo articolo descrive i diversi parametri che si applicano durante l'aggiornamento di un'applicazione di Azure Service Fabric.This article describes the various parameters that apply during the upgrade of an Azure Service Fabric application. I parametri includono il nome e la versione dell'applicazione.The parameters include the name and version of the application. Determinano i timeout e i controlli di integrità che vengono applicati durante l'aggiornamento e specificano i criteri da applicare quando un aggiornamento non riesce.They are knobs that control the time-outs and health checks that are applied during the upgrade, and they specify the policies that must be applied when an upgrade fails.


ParametroParameter DescrizioneDescription
ApplicationNameApplicationName Nome dell'applicazione che viene aggiornata.Name of the application that is being upgraded. Esempi: fabric:/VisualObjects, fabric:/ClusterMonitorExamples: fabric:/VisualObjects, fabric:/ClusterMonitor
TargetApplicationTypeVersionTargetApplicationTypeVersion Versione del tipo di applicazione a cui è destinato l'aggiornamento.The version of the application type that the upgrade targets.
FailureActionFailureAction L'azione eseguita da Service Fabric se l'aggiornamento non riesce.The action taken by Service Fabric when the upgrade fails. È possibile che venga eseguito il rollback dell'applicazione alla versione pre-aggiornamento oppure l'aggiornamento può essere arrestato nel dominio di aggiornamento corrente.The application may be rolled back to the pre-update version (rollback), or the upgrade may be stopped at the current upgrade domain. Nel secondo caso la modalità di aggiornamento viene impostata su manuale.In the latter case, the upgrade mode is also changed to Manual. I valori consentiti sono Rollback e Manual.Allowed values are Rollback and Manual.
HealthCheckWaitDurationSecHealthCheckWaitDurationSec Tempo di attesa, in secondi, dopo il completamento dell'aggiornamento nel dominio di aggiornamento prima che Service Fabric valuti l'integrità dell'applicazione.The time to wait (in seconds) after the upgrade has finished on the upgrade domain before Service Fabric evaluates the health of the application. La durata può essere considerata anche come il tempo di esecuzione di un'applicazione prima che venga considerata integra.This duration can also be considered as the time an application should be running before it can be considered healthy. Se il controllo di integrità ha esito positivo, il processo di aggiornamento passa al dominio di aggiornamento successivo.If the health check passes, the upgrade process proceeds to the next upgrade domain. Se invece il controllo di integrità ha esito negativo, Service Fabric attende un periodo di tempo (definito da UpgradeHealthCheckInterval) prima di riprovare a eseguire il controllo di integrità finché non viene raggiunto il valore definito da HealthCheckRetryTimeout.If the health check fails, Service Fabric waits for an interval (the UpgradeHealthCheckInterval) before retrying the health check again until the HealthCheckRetryTimeout is reached. Il valore predefinito e consigliato è 0 secondi.The default and recommended value is 0 seconds.
HealthCheckRetryTimeoutSecHealthCheckRetryTimeoutSec Intervallo di tempo (in secondi) in cui Service Fabric continua a eseguire la valutazione dell'integrità prima di dichiarare l'aggiornamento come non riuscito.The duration (in seconds) that Service Fabric continues to perform health evaluation before declaring the upgrade as failed. Il valore predefinito è 600 secondi.The default is 600 seconds. Il calcolo del tempo inizia dopo che viene raggiunto il valore definito da HealthCheckWaitDuration.This duration starts after HealthCheckWaitDuration is reached. Nell'ambito di questo intervallo di tempo definito da HealthCheckRetryTimeout, Service Fabric può eseguire più controlli di integrità dell'applicazione.Within this HealthCheckRetryTimeout, Service Fabric might perform multiple health checks of the application health. Il valore predefinito è 10 minuti ed è consigliabile personalizzarlo in base all'applicazione.The default value is 10 minutes and should be customized appropriately for your application.
HealthCheckStableDurationSecHealthCheckStableDurationSec Il periodo (in secondi) per verificare che l'applicazione sia stabile prima di passare al dominio di aggiornamento successivo o di completare l'aggiornamento.The duration (in seconds) to verify that the application is stable before moving to the next upgrade domain or completing the upgrade. Questo intervallo viene usato per evitare che immediatamente dopo il controllo di integrità vengono apportate modifiche all'integrità non rilevate.This wait duration is used to prevent undetected changes of health right after the health check is performed. Il valore predefinito è 120 secondi ed è consigliabile personalizzarlo in base all'applicazione.The default value is 120 seconds, and should be customized appropriately for your application.
UpgradeDomainTimeoutSecUpgradeDomainTimeoutSec Tempo massimo (in secondi) per l'aggiornamento di un singolo dominio di aggiornamento.Maximum time (in seconds) for upgrading a single upgrade domain. Se viene raggiunto questo timeout, l'aggiornamento si arresta e procede in base all'impostazione di UpgradeFailureAction.If this time-out is reached, the upgrade stops and proceeds based on the setting for UpgradeFailureAction. Il valore predefinito è mai (Infinito) ed è consigliabile personalizzarlo in base all'applicazione.The default value is never (Infinite) and should be customized appropriately for your application.
UpgradeTimeoutUpgradeTimeout Intervallo di timeout, in secondi, che si applica per l'intero aggiornamento.A time-out (in seconds) that applies for the entire upgrade. Se viene raggiunto questo timeout, l'aggiornamento si arresta e viene attivata l'azione specificata da UpgradeFailureAction.If this time-out is reached, the upgrade stops and UpgradeFailureAction is triggered. Il valore predefinito è mai (Infinito) ed è consigliabile personalizzarlo in base all'applicazione.The default value is never (Infinite) and should be customized appropriately for your application.
UpgradeHealthCheckIntervalUpgradeHealthCheckInterval Frequenza di controllo dello stato di integrità.The frequency that the health status is checked. Questo parametro viene specificato nella sezione ClusterManager del manifesto del cluster e non viene specificato come parte del cmdlet di aggiornamento.This parameter is specified in the ClusterManager section of the cluster manifest, and is not specified as part of the upgrade cmdlet. Il valore predefinito è 60 secondi.The default value is 60 seconds.


Valutazione dell'integrità di un servizio durante l'aggiornamento dell'applicazioneService health evaluation during application upgrade


I criteri di valutazione dell'integrità sono facoltativi.The health evaluation criteria are optional. Se all'avvio di un aggiornamento non vengono specificati i criteri di valutazione dell'integrità, Service Fabric usa i criteri di integrità dell'applicazione specificati nel file ApplicationManifest.xml dell'istanza dell'applicazione.If the health evaluation criteria are not specified when an upgrade starts, Service Fabric uses the application health policies specified in the ApplicationManifest.xml of the application instance.


ParametroParameter DescrizioneDescription
ConsiderWarningAsErrorConsiderWarningAsError Il valore predefinito è False.Default value is False. Considerare gli eventi di avviso relativi all'integrità dell'applicazione come errori quando si valuta l'integrità dell'applicazione durante l'aggiornamento.Treat the warning health events for the application as errors when evaluating the health of the application during upgrade. Per impostazione predefinita, Service Fabric non valuta eventi di avviso relativi all'integrità come errori, quindi l'aggiornamento può continuare anche se vengono generati questi eventi.By default, Service Fabric does not evaluate warning health events to be failures (errors), so the upgrade can proceed even if there are warning events.
MaxPercentUnhealthyDeployedApplicationsMaxPercentUnhealthyDeployedApplications Il valore predefinito e consigliato è 0.Default and recommended value is 0. Specificare il numero massimo di applicazioni distribuite (vedere la sezione relativa all'integrità) che possono essere non integre prima che l'applicazione venga considerata non integra e l'aggiornamento non riesca.Specify the maximum number of deployed applications (see the Health section) that can be unhealthy before the application is considered unhealthy and fails the upgrade. Questo parametro definisce l'integrità dell'applicazione sul nodo e consente di rilevare eventuali problemi durante l'aggiornamento.This parameter defines the application health on the node and helps detect issues during upgrade. Normalmente alle repliche dell'applicazione viene applicato un bilanciamento del carico basato sull'altro nodo, in modo che l'applicazione risulti integra e l'aggiornamento possa continuare.Typically, the replicas of the application get load-balanced to the other node, which allows the application to appear healthy, thus allowing the upgrade to proceed. Specificando uno stato di integrità MaxPercentUnhealthyDeployedApplications rigoroso, Service Fabric può rilevare rapidamente un problema con il pacchetto dell'applicazione, determinando un aggiornamento di errore immediato.By specifying a strict MaxPercentUnhealthyDeployedApplications health, Service Fabric can detect a problem with the application package quickly and help produce a fail fast upgrade.
MaxPercentUnhealthyServicesMaxPercentUnhealthyServices Il valore predefinito e consigliato è 0.Default and recommended value is 0. Specificare il numero massimo di servizi dell'istanza dell'applicazione che possono essere non integri prima che l'applicazione venga considerata non integra e l'aggiornamento non riesca.Specify the maximum number of services in the application instance that can be unhealthy before the application is considered unhealthy and fails the upgrade.
MaxPercentUnhealthyPartitionsPerServiceMaxPercentUnhealthyPartitionsPerService Il valore predefinito e consigliato è 0.Default and recommended value is 0. Specificare il numero massimo di partizioni di un servizio che possono essere non integre prima che il servizio venga considerato non integro.Specify the maximum number of partitions in a service that can be unhealthy before the service is considered unhealthy.
MaxPercentUnhealthyReplicasPerPartitionMaxPercentUnhealthyReplicasPerPartition Il valore predefinito e consigliato è 0.Default and recommended value is 0. Specificare il numero massimo di repliche nella partizione che possono essere non integre prima che la partizione venga considerata non integra.Specify the maximum number of replicas in partition that can be unhealthy before the partition is considered unhealthy.
UpgradeReplicaSetCheckTimeoutUpgradeReplicaSetCheckTimeout Servizio senza stato: in un singolo dominio di aggiornamento Service Fabric prova a verificare che siano disponibili istanze aggiuntive del servizio.Stateless service--Within a single upgrade domain, Service Fabric tries to ensure that additional instances of the service are available. Se il numero di istanze di destinazione è maggiore di uno, Service Fabric attende che sia disponibile più di un'istanza fino al valore di timeout massimo.If the target instance count is more than one, Service Fabric waits for more than one instance to be available, up to a maximum time-out value. Questo timeout è specificato dalla proprietà UpgradeReplicaSetCheckTimeout.This time-out is specified by using the UpgradeReplicaSetCheckTimeout property. Se il timeout scade, Service Fabric procede con l'aggiornamento indipendentemente dal numero di istanze del servizio.If the time-out expires, Service Fabric proceeds with the upgrade, regardless of the number of service instances. Se il numero di istanze di destinazione è pari a uno, Service Fabric non attende e procede immediatamente con l'aggiornamento.If the target instance count is one, Service Fabric does not wait, and immediately proceeds with the upgrade. Servizio con stato: in un singolo dominio di aggiornamento Service Fabric prova a verificare che il set di repliche abbia un quorum.Stateful service--Within a single upgrade domain, Service Fabric tries to ensure that the replica set has a quorum. Service Fabric attende che sia disponibile un quorum fino al valore di timeout massimo, specificato dalla proprietà UpgradeReplicaSetCheckTimeout.Service Fabric waits for a quorum to be available, up to a maximum time-out value (specified by the UpgradeReplicaSetCheckTimeout property). Se il timeout scade, Service Fabric procede con l'aggiornamento indipendentemente dal quorum.If the time-out expires, Service Fabric proceeds with the upgrade, regardless of quorum. Questa impostazione è "mai" (infinito) per il roll forward e 900 secondi per il rollback.This setting is set as never (infinite) when rolling forward, and 900 seconds when rolling back.
ForceRestartForceRestart Se si aggiorna un pacchetto di configurazione o di dati senza aggiornare il codice del servizio, il servizio viene riavviato solo se la proprietà ForceRestart è impostata su true.If you update a configuration or data package without updating the service code, the service is restarted only if the ForceRestart property is set to true. Quando l'aggiornamento è completo, Service Fabric notifica al servizio che è disponibile un nuovo pacchetto di configurazione o di dati.When the update is complete, Service Fabric notifies the service that a new configuration package or data package is available. Il servizio è responsabile dell'applicazione delle modifiche.The service is responsible for applying the changes. Se necessario, il servizio può riavviarsi.If necessary, the service can restart itself.



I criteri MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService e MaxPercentUnhealthyReplicasPerPartition possono essere specificati per tipo di servizio per un'istanza dell'applicazione.The MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService, and MaxPercentUnhealthyReplicasPerPartition criteria can be specified per service type for an application instance. Impostando questi parametri "per servizio" un'applicazione può contenere tipi di servizi diversi con criteri di valutazione diversi.Setting these parameters per-service allows for an application to contain different services types with different evaluation policies. Ad esempio, un tipo di servizio gateway senza stato può avere un parametro MaxPercentUnhealthyPartitionsPerService diverso da un tipo di servizio motore con stato per una specifica istanza dell'applicazione.For example, a stateless gateway service type can have a MaxPercentUnhealthyPartitionsPerService that is different from a stateful engine service type for a particular application instance.

Passaggi successiviNext steps

Esercitazione sull'aggiornamento di un'applicazione di Service Fabric tramite Visual Studio descrive la procedura di aggiornamento di un'applicazione con Visual Studio.Upgrading your Application Using Visual Studio walks you through an application upgrade using Visual Studio.

Aggiornamento di un'applicazione di Service Fabric mediante PowerShell descrive la procedura di aggiornamento di un'applicazione tramite PowerShell.Upgrading your Application Using Powershell walks you through an application upgrade using PowerShell.

Aggiornamento dell'applicazione descrive la procedura di aggiornamento di un'applicazione con l'interfaccia della riga di comando di Service Fabric.Upgrading your Application using Service Fabric CLI on Linux walks you through an application upgrade using Service Fabric CLI.

Aggiornamento dell'applicazione con il plug-in Eclipse per Service FabricUpgrading your application using Service Fabric Eclipse Plugin

Rendere compatibili gli aggiornamenti dell'applicazione imparando a usare Serializzazione dei dati.Make your application upgrades compatible by learning how to use Data Serialization.

Per informazioni su come usare funzionalità avanzate durante l'aggiornamento dell'applicazione, vedere Argomenti avanzati.Learn how to use advanced functionality while upgrading your application by referring to Advanced Topics.

Per informazioni su come risolvere problemi comuni negli aggiornamenti dell'applicazione, vedere i passaggi indicati in Risoluzione dei problemi relativi agli aggiornamenti dell'applicazione.Fix common problems in application upgrades by referring to the steps in Troubleshooting Application Upgrades.