Parâmetros da atualização da aplicação

Este artigo descreve os vários parâmetros que se aplicam durante a atualização de um aplicativo do Azure Service Fabric. Os parâmetros de atualização do aplicativo controlam os tempos limite e as verificações de integridade que são aplicadas durante a atualização e especificam as políticas que devem ser aplicadas quando uma atualização falha. Os parâmetros do aplicativo aplicam-se a atualizações usando:

  • PowerShell
  • Visual Studio
  • SFCTL
  • REST

As atualizações de aplicativos são iniciadas por meio de um dos três modos de atualização selecionáveis pelo usuário. Cada modo tem seu próprio conjunto de parâmetros de aplicação:

  • Monitorado
  • Automático não monitorado
  • Manual não monitorizado

Os parâmetros obrigatórios e opcionais aplicáveis são descritos em cada secção da seguinte forma.

Parâmetros do Visual Studio e do PowerShell

As atualizações de aplicativos do Service Fabric usando o PowerShell usam o comando Start-ServiceFabricApplicationUpgrade . O modo de atualização é selecionado passando o parâmetro Monitored, UnmonitoredAuto ou UnmonitoredManual para Start-ServiceFabricApplicationUpgrade.

Os parâmetros de atualização do aplicativo Visual Studio Service Fabric são definidos por meio da caixa de diálogo Configurações de atualização do Visual Studio. O modo de atualização do Visual Studio é selecionado usando a caixa suspensa Modo de atualização para Monitored, UnmonitoredAuto ou UnmonitoredManual. Para obter mais informações, consulte Configurar a atualização de um aplicativo do Service Fabric no Visual Studio.

Parâmetros obrigatórios

Parâmetro Aplica-se A Description
ApplicationName PowerShell Nome do aplicativo que está sendo atualizado. Exemplos: fabric:/VisualObjects, fabric:/ClusterMonitor.
ApplicationTypeVersion PowerShell A versão do tipo de aplicativo que a atualização destina.
FailureAction PowerShell, Visual Studio Os valores permitidos são Reversão, Manual e Inválido. A ação de compensação a ser executada quando uma atualização monitorada encontra violações da política de monitoramento ou da diretiva de integridade.
A reversão especifica que a atualização será revertida automaticamente para a versão de pré-atualização.
Manual indica que a atualização mudará para o modo de atualização Manual não monitorado.
Inválido indica que a ação de falha é inválida.
Monitorado PowerShell Indica que o modo de atualização é monitorado. Depois que o cmdlet concluir uma atualização para um domínio de atualização, se a integridade do domínio de atualização e do cluster atenderem às políticas de integridade definidas, o Service Fabric atualizará o próximo domínio de atualização. Se o domínio ou cluster de atualização não atender às políticas de integridade, a atualização falhará e o Service Fabric reverterá a atualização para o domínio de atualização ou reverterá para o modo manual de acordo com a política especificada. Este é o modo recomendado para atualizações de aplicativos em um ambiente de produção.
Modo de atualização Visual Studio Os valores permitidos são Monitored (padrão), UnmonitoredAuto ou UnmonitoredManual. Consulte Parâmetros do PowerShell para cada modo neste artigo para obter detalhes.
UnmonitoredAuto PowerShell Indica que o modo de atualização é automático não monitorado. Depois que o Service Fabric atualiza um domínio de atualização, o Service Fabric atualiza o próximo domínio de atualização, independentemente do estado de integridade do aplicativo. Este modo não é recomendado para produção e só é útil durante o desenvolvimento de uma aplicação.
Manual não monitorado PowerShell Indica que o modo de atualização não é monitorado manualmente. Depois que o Service Fabric atualiza um domínio de atualização, ele aguarda que você atualize o próximo domínio de atualização usando o cmdlet Resume-ServiceFabricApplicationUpgrade .

Parâmetros opcionais

Os parâmetros de avaliação de integridade são opcionais. Se os critérios de avaliação de integridade não forem especificados quando uma atualização for iniciada, o Service Fabric usará as políticas de integridade do aplicativo especificadas no ApplicationManifest.xml da instância do aplicativo.

Parâmetro Aplica-se A Description
ApplicationParameter PowerShell, Visual Studio Especifica as substituições para parâmetros de aplicativo.
Os parâmetros do aplicativo PowerShell são especificados como pares nome/valor da tabela de hash. Por exemplo, @{ "VotingData_MinReplicaSetSize" = "3"; "VotingData_PartitionCount" = "1" }.
Os parâmetros do aplicativo Visual Studio podem ser especificados na caixa de diálogo Publicar Aplicativo do Service Fabric no campo Arquivo de Parâmetros do Aplicativo.
Confirmar PowerShell Os valores permitidos são True e False. Solicita confirmação antes de executar o cmdlet.
ConsiderWarningAsError PowerShell, Visual Studio Os valores permitidos são True e False. O valor predefinido é False. Trate os eventos de integridade de aviso para o aplicativo como erros ao avaliar a integridade do aplicativo durante a atualização. Por padrão, o Service Fabric não avalia eventos de integridade de aviso como falhas (erros), portanto, a atualização pode continuar mesmo se houver eventos de aviso.
DefaultServiceTypeHealthPolicy PowerShell, Visual Studio Especifica a política de integridade para o tipo de serviço padrão a ser usado para a atualização monitorada no formato MaxPercentUnhealthyPartitionsPerService, MaxPercentUnhealthyReplicasPerPartition, MaxPercentUnhealthyServices. Por exemplo, 5,10,15 indica os seguintes valores: MaxPercentUnhealthyPartitionsPerService = 5, MaxPercentUnhealthyReplicasPerPartition = 10, MaxPercentUnhealthyServices = 15.
Force PowerShell, Visual Studio Os valores permitidos são True e False. Indica que o processo de atualização ignora a mensagem de aviso e força a atualização mesmo quando o número da versão não foi alterado. Isso é útil para testes locais, mas não é recomendado para uso em um ambiente de produção, pois requer a remoção da implantação existente, o que causa tempo de inatividade e perda potencial de dados.
ForceRestart PowerShell, Visual Studio Se você atualizar uma configuração ou pacote de dados sem atualizar o código de serviço, o serviço será reiniciado somente se a propriedade ForceRestart estiver definida como True. Quando a atualização estiver concluída, o Service Fabric notificará o serviço de que um novo pacote de configuração ou pacote de dados está disponível. O serviço é responsável pela aplicação das alterações. Se necessário, o serviço pode ser reiniciado.
HealthCheckRetryTimeoutSec PowerShell, Visual Studio A duração (em segundos) que o Service Fabric continua a executar a avaliação de integridade antes de declarar a atualização como falha. O padrão é 600 segundos. Essa duração começa depois que HealthCheckWaitDurationSec é atingida. Neste HealthCheckRetryTimeout, o Service Fabric pode executar várias verificações de integridade do aplicativo. O valor padrão é 10 minutos e deve ser personalizado adequadamente para seu aplicativo.
HealthCheckStableDurationSec PowerShell, Visual Studio A duração (em segundos) para verificar se o aplicativo está estável antes de mover para o próximo domínio de atualização ou concluir a atualização. Essa duração de espera é usada para evitar alterações de integridade não detetadas logo após a verificação de integridade ser executada. O valor padrão é 120 segundos e deve ser personalizado adequadamente para seu aplicativo.
HealthCheckWaitDurationSec PowerShell, Visual Studio O tempo de espera (em segundos) após a conclusão da atualização no domínio de atualização antes que o Service Fabric avalie a integridade do aplicativo. Essa duração também pode ser considerada como o tempo que um aplicativo deve estar em execução antes de ser considerado íntegro. Se a verificação de integridade for aprovada, o processo de atualização prosseguirá para o próximo domínio de atualização. Se a verificação de integridade falhar, o Service Fabric aguardará UpgradeHealthCheckInterval antes de tentar novamente a verificação de integridade até que o HealthCheckRetryTimeoutSec seja alcançado. O valor padrão e recomendado é 0 segundos.
MaxPercentUnhealthyDeployedApplications PowerShell, Visual Studio O valor padrão e recomendado é 0. Especifique o número máximo de aplicativos implantados (consulte a seção Integridade) que podem não estar íntegros antes que o aplicativo seja considerado não íntegro e falhe na atualização. Esse parâmetro define a integridade do aplicativo no nó e ajuda a detetar problemas durante a atualização. Normalmente, as réplicas do aplicativo recebem balanceamento de carga para o outro nó, o que permite que o aplicativo pareça íntegro, permitindo assim que a atualização prossiga. Ao especificar uma integridade rígida de MaxPercentUnhealthyDeployedApplications , o Service Fabric pode detetar um problema com o pacote de aplicativos rapidamente e ajudar a produzir uma atualização rápida com falhas.
MaxPercentUnhealthyServices PowerShell, Visual Studio Um parâmetro para DefaultServiceTypeHealthPolicy e ServiceTypeHealthPolicyMap. O valor padrão e recomendado é 0. Especifique o número máximo de serviços na instância do aplicativo que podem não estar íntegros antes que o aplicativo seja considerado não íntegro e falhe na atualização.
MaxPercentUnhealthyPartitionsPerService PowerShell, Visual Studio Um parâmetro para DefaultServiceTypeHealthPolicy e ServiceTypeHealthPolicyMap. O valor padrão e recomendado é 0. Especifique o número máximo de partições em um serviço que pode não estar íntegra antes que o serviço seja considerado não íntegro.
MaxPercentUnhealthyReplicasPerPartition PowerShell, Visual Studio Um parâmetro para DefaultServiceTypeHealthPolicy e ServiceTypeHealthPolicyMap. O valor padrão e recomendado é 0. Especifique o número máximo de réplicas na partição que podem não estar íntegras antes que a partição seja considerada não íntegra.
ServiceTypeHealthPolicyMap PowerShell, Visual Studio Representa a política de saúde utilizada para avaliar a saúde dos serviços pertencentes a um tipo de serviço. Usa uma entrada de tabela de hash no seguinte formato: @ {"ServiceTypeName" : "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"} Por exemplo: @{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }
TimeoutSec PowerShell , Visual Studio Especifica o período de tempo limite em segundos para a operação.
UpgradeDomainTimeoutSec PowerShell, Visual Studio Tempo máximo (em segundos) para atualizar um único domínio de atualização. Se esse tempo limite for atingido, a atualização será interrompida e prosseguirá com base na configuração de FailureAction. O valor padrão nunca é (Infinito) e deve ser personalizado adequadamente para seu aplicativo.
UpgradeReplicaSetCheckTimeoutSec PowerShell, Visual Studio Medido em segundos.
Serviço sem monitoração de estado--Dentro de um único domínio de atualização, o Service Fabric tenta garantir que instâncias adicionais do serviço estejam disponíveis. Se a contagem de instâncias de destino for mais de uma, o Service Fabric aguardará que mais de uma instância esteja disponível, até um valor máximo de tempo limite. Esse tempo limite é especificado usando a propriedade UpgradeReplicaSetCheckTimeoutSec . Se o tempo limite expirar, o Service Fabric prosseguirá com a atualização, independentemente do número de instâncias de serviço. Se a contagem de instâncias de destino for uma, o Service Fabric não aguardará e prosseguirá imediatamente com a atualização.

Serviço com monitoração de estado--Dentro de um único domínio de atualização, o Service Fabric tenta garantir que o conjunto de réplicas tenha um quórum. O Service Fabric aguarda que um quórum esteja disponível, até um valor de tempo limite máximo (especificado pela propriedade UpgradeReplicaSetCheckTimeoutSec ). Se o tempo limite expirar, o Service Fabric prosseguirá com a atualização, independentemente do quórum. Essa configuração é definida como nunca (infinito) ao rolar para frente e 1200 segundos ao reverter.
UpgradeTimeoutSec PowerShell, Visual Studio Um tempo limite (em segundos) que se aplica a toda a atualização. Se esse tempo limite for atingido, a atualização será interrompida e FailureAction será acionado. O valor padrão nunca é (Infinito) e deve ser personalizado adequadamente para seu aplicativo.
WhatIf PowerShell Os valores permitidos são True e False. Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.

Os critérios MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService e MaxPercentUnhealthyReplicasPerPartition podem ser especificados por tipo de serviço para uma instância de aplicativo. A definição desses parâmetros por serviço permite que um aplicativo contenha diferentes tipos de serviços com diferentes políticas de avaliação. Por exemplo, um tipo de serviço de gateway sem estado pode ter um MaxPercentUnhealthyPartitionsPerService que é diferente de um tipo de serviço de mecanismo com estado para uma instância de aplicativo específica.

Parâmetros SFCTL

As atualizações de aplicativos do Service Fabric usando a CLI do Service Fabric usam o comando sfctl application upgrade junto com os seguintes parâmetros obrigatórios e opcionais.

Parâmetros obrigatórios

Parâmetro Description
ID do aplicativo ID do aplicativo que está sendo atualizado.
Normalmente, este é o nome completo do aplicativo sem o esquema de URI 'fabric:'. A partir da versão 6.0, os nomes hierárquicos são delimitados com o caractere '~'. Por exemplo, se o nome do aplicativo for 'fabric:/myapp/app1', a identidade do aplicativo será 'myapp~app1' em 6.0+ e 'myapp/app1' em versões anteriores.
aplicação-versão A versão do tipo de aplicativo que a atualização destina.
parâmetros Uma lista codificada JSON de substituições de parâmetros de aplicativo a serem aplicadas ao atualizar o aplicativo.

Parâmetros opcionais

Parâmetro Description
default-service-health-policy Especificação codificada por JSON da diretiva de integridade usada por padrão para avaliar a integridade de um tipo de serviço. O mapa está vazio por padrão.
Falha-ação Os valores permitidos são Reversão, Manual e Inválido. A ação de compensação a ser executada quando uma atualização monitorada encontra violações da política de monitoramento ou da diretiva de integridade.
A reversão especifica que a atualização será revertida automaticamente para a versão de pré-atualização.
Manual indica que a atualização mudará para o modo de atualização Manual não monitorado.
Inválido indica que a ação de falha é inválida.
forçar-reiniciar Se você atualizar uma configuração ou pacote de dados sem atualizar o código de serviço, o serviço será reiniciado somente se a propriedade ForceRestart estiver definida como True. Quando a atualização estiver concluída, o Service Fabric notificará o serviço de que um novo pacote de configuração ou pacote de dados está disponível. O serviço é responsável pela aplicação das alterações. Se necessário, o serviço pode ser reiniciado.
saúde-check-retry-timeout A quantidade de tempo para repetir a avaliação de integridade quando o aplicativo ou cluster não está íntegro antes de FailureAction ser executado. É primeiramente interpretada como uma cadeia de caracteres que representa uma duração ISO 8601. Se isso falhar, então é interpretado como um número que representa o número total de milissegundos. Padrão: PT0H10M0S.
saúde-check-stable-duration A quantidade de tempo que o aplicativo ou cluster deve permanecer íntegro antes que a atualização prossiga para o próximo domínio de atualização. É primeiramente interpretada como uma cadeia de caracteres que representa uma duração ISO 8601. Se isso falhar, então é interpretado como um número que representa o número total de milissegundos. Padrão: PT0H2M0S.
saúde-check-wait-duration O tempo de espera após a conclusão de um domínio de atualização antes de aplicar políticas de integridade. É primeiramente interpretada como uma cadeia de caracteres que representa uma duração ISO 8601. Se isso falhar, então é interpretado como um número que representa o número total de milissegundos. Predefinição: 0.
max-unhealthy-apps O valor padrão e recomendado é 0. Especifique o número máximo de aplicativos implantados (consulte a seção Integridade) que podem não estar íntegros antes que o aplicativo seja considerado não íntegro e falhe na atualização. Esse parâmetro define a integridade do aplicativo no nó e ajuda a detetar problemas durante a atualização. Normalmente, as réplicas do aplicativo recebem balanceamento de carga para o outro nó, o que permite que o aplicativo pareça íntegro, permitindo assim que a atualização prossiga. Ao especificar uma integridade estrita de aplicativos max-unhealthy, o Service Fabric pode detetar um problema com o pacote de aplicativos rapidamente e ajudar a produzir uma atualização rápida com falhas. Representado como um número entre 0 e 100.
modo Os valores permitidos são Monitored, UpgradeMode, UnmonitoredAuto, UnmonitoredManual. O padrão é UnmonitoredAuto. Consulte a seção Parâmetros necessários do Visual Studio e do PowerShell para obter descrições desses valores.
replica-set-check-timeout Medido em segundos.
Serviço sem monitoração de estado--Dentro de um único domínio de atualização, o Service Fabric tenta garantir que instâncias adicionais do serviço estejam disponíveis. Se a contagem de instâncias de destino for mais de uma, o Service Fabric aguardará que mais de uma instância esteja disponível, até um valor máximo de tempo limite. Esse tempo limite é especificado usando a propriedade replica-set-check-timeout . Se o tempo limite expirar, o Service Fabric prosseguirá com a atualização, independentemente do número de instâncias de serviço. Se a contagem de instâncias de destino for uma, o Service Fabric não aguardará e prosseguirá imediatamente com a atualização.

Serviço com monitoração de estado--Dentro de um único domínio de atualização, o Service Fabric tenta garantir que o conjunto de réplicas tenha um quórum. O Service Fabric aguarda a disponibilidade de um quórum, até um valor máximo de tempo limite (especificado pela propriedade replica-set-check-timeout ). Se o tempo limite expirar, o Service Fabric prosseguirá com a atualização, independentemente do quórum. Essa configuração é definida como nunca (infinito) ao rolar para frente e 1200 segundos ao reverter.
serviço-saúde-política Mapa codificado JSON com política de integridade do tipo de serviço por nome de tipo de serviço. O mapa está vazio ser padrão. Parâmetro formato JSON.. O JSON para a parte "Value" contém MaxPercentUnhealthyServices, MaxPercentUnhealthyPartitionsPerService e MaxPercentUnhealthyReplicasPerPartition. Consulte a seção Parâmetros opcionais do Visual Studio e do PowerShell para obter descrições desses parâmetros.
tempo limite Especifica o período de tempo limite em segundos para a operação. Padrão: 60.
upgrade-domínio-timeout A quantidade de tempo que cada domínio de atualização tem que ser concluído antes que FailureAction seja executado. É primeiramente interpretada como uma cadeia de caracteres que representa uma duração ISO 8601. Se isso falhar, então é interpretado como um número que representa o número total de milissegundos. O valor padrão nunca é (Infinito) e deve ser personalizado adequadamente para seu aplicativo. Padrão: P10675199DT02H48M05.4775807S.
tempo limite de atualização A quantidade de tempo que cada domínio de atualização tem que ser concluído antes que FailureAction seja executado. É primeiramente interpretada como uma cadeia de caracteres que representa uma duração ISO 8601. Se isso falhar, então é interpretado como um número que representa o número total de milissegundos. O valor padrão nunca é (Infinito) e deve ser personalizado adequadamente para seu aplicativo. Padrão: P10675199DT02H48M05.4775807S.
Aviso como erro Os valores permitidos são True e False. O valor predefinido é False. Pode ser passado como uma bandeira. Trate os eventos de integridade de aviso para o aplicativo como erros ao avaliar a integridade do aplicativo durante a atualização. Por padrão, o Service Fabric não avalia eventos de integridade de aviso como falhas (erros), portanto, a atualização pode continuar mesmo se houver eventos de aviso.

Próximos passos

Atualizando seu aplicativo usando o Visual Studio orienta você através de uma atualização de aplicativo usando o Visual Studio.

Atualizando seu aplicativo usando o PowerShell orienta você por uma atualização de aplicativo usando o PowerShell.

Atualizar seu aplicativo usando a CLI do Service Fabric no Linux orienta você por uma atualização de aplicativo usando a CLI do Service Fabric.

Atualizando seu aplicativo usando o plug-in do Service Fabric Eclipse

Torne as atualizações do seu aplicativo compatíveis aprendendo a usar a Serialização de Dados.

Saiba como usar a funcionalidade avançada ao atualizar seu aplicativo consultando Tópicos Avançados.

Corrija problemas comuns em atualizações de aplicativos consultando as etapas em Solução de problemas de atualizações de aplicativos.