StatelessServiceDescription
Descreve um serviço sem estado.
Propriedades
ApplicationName
Tipo: cadeia
Obrigatório: Não
O nome da aplicação, incluindo o esquema de URI "recursos de infraestrutura:".
ServiceName
Tipo: cadeia
Obrigatório: Sim
O nome completo do serviço com o esquema URI "fabric:".
ServiceTypeName
Tipo: cadeia
Obrigatório: Sim
Nome do tipo de serviço, conforme especificado no manifesto do serviço.
InitializationData
Tipo: matriz de número inteiro
Obrigatório: Não
Os dados de inicialização como uma matriz de bytes. Os dados de inicialização são transmitidos para instâncias de serviço ou réplicas quando são criados.
PartitionDescription
Tipo: PartitionSchemeDescription
Obrigatório: Sim
A descrição da partição como um objeto.
PlacementConstraints
Tipo: cadeia
Obrigatório: Não
As restrições de colocação como uma cadeia. As restrições de colocação são expressões booleanas nas propriedades do nó e permitem restringir um serviço a nós específicos com base nos requisitos de serviço. Por exemplo, para colocar um serviço em nós em que NodeType é azul, especifique o seguinte: "NodeColor == azul)".
CorrelationScheme
Tipo: matriz de ServiceCorrelationDescription
Obrigatório: Não
O esquema de correlação.
ServiceLoadMetrics
Tipo: matriz de ServiceLoadMetricDescription
Obrigatório: Não
As métricas de carregamento do serviço.
ServicePlacementPolicies
Tipo: matriz de ServicePlacementPolicyDescription
Obrigatório: Não
As políticas de colocação do serviço.
DefaultMoveCost
Tipo: cadeia (enum)
Obrigatório: Não
O custo de movimentação do serviço.
Especifica o custo de movimentação do serviço.
Os valores possíveis são:
-
Zero
- Custo de movimentação zero. Este valor é zero. -
Low
- Especifica o custo de movimentação do serviço como Baixo. O valor é 1. -
Medium
- Especifica o custo de movimentação do serviço como Médio. O valor é 2. -
High
- Especifica o custo de movimentação do serviço como Alto. O valor é 3. -
VeryHigh
- Especifica o custo de movimentação do serviço como VeryHigh. O valor é 4.
IsDefaultMoveCostSpecified
Tipo: booleano
Obrigatório: Não
Indica se a propriedade DefaultMoveCost está especificada.
ServicePackageActivationMode
Tipo: cadeia (enumeração)
Obrigatório: Não
O modo de ativação do pacote de serviço a utilizar para um serviço.
O modo de ativação do pacote de serviço a utilizar para um serviço do Service Fabric. Isto é especificado no momento da criação do Serviço.
Os valores possíveis são:
-
SharedProcess
- Este é o modo de ativação predefinido. Com este modo de ativação, as réplicas ou instâncias de diferentes partições de serviço, num determinado nó, partilharão a mesma ativação do pacote de serviço num nó. O valor é zero. -
ExclusiveProcess
- Com este modo de ativação, cada réplica ou instância de serviço, num determinado nó, terá a sua própria ativação dedicada do pacote de serviço num nó. O valor é 1.
ServiceDnsName
Tipo: cadeia
Obrigatório: Não
O nome DNS do serviço. Requer que o serviço de sistema DNS esteja ativado no cluster do Service Fabric.
ScalingPolicies
Tipo: matriz de ScalingPolicyDescription
Obrigatório: Não
Políticas de dimensionamento para este serviço.
TagsRequiredToPlace
Tipo: NodeTagsDescription
Obrigatório: Não
Etiquetas para colocação deste serviço.
TagsRequiredToRun
Tipo: NodeTagsDescription
Obrigatório: Não
Etiquetas para executar este serviço.
InstanceCount
Tipo: número inteiro
Obrigatório: Sim
InclusiveMinimum: -1
A contagem de instâncias.
MinInstanceCount
Tipo: número inteiro
Obrigatório: Não
MinInstanceCount é o número mínimo de instâncias que têm de estar à altura para cumprir a verificação de segurança EnsureAvailability durante operações como atualizar ou desativar o nó.
O número real utilizado é max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).
Tenha em atenção que, se a InstanceCount estiver definida como -1, durante a computação MinInstanceCount -1 é convertida em primeiro lugar no número de nós em que as instâncias têm permissão para serem colocadas de acordo com as restrições de colocação no serviço.
MinInstancePercentage
Tipo: número inteiro
Obrigatório: Não
MinInstancePercentage é a percentagem mínima de InstanceCount que tem de estar à altura para cumprir a verificação de segurança EnsureAvailability durante operações como atualizar ou desativar o nó.
O número real utilizado é max( MinInstanceCount, ceil( MinInstancePercentage/100.0 * InstanceCount) ).
Tenha em atenção que, se InstanceCount estiver definido como -1, durante a computação MinInstancePercentage, -1 é primeiro convertido no número de nós em que as instâncias podem ser colocadas de acordo com as restrições de colocação no serviço.
Flags
Tipo: número inteiro
Obrigatório: Não
Sinalizadores que indicam se outras propriedades estão definidas. Cada uma das propriedades associadas corresponde a um sinalizador, especificado abaixo, que, se definido, indica que a propriedade está especificada.
Esta propriedade pode ser uma combinação desses sinalizadores obtidos com o operador bit-a-bit "OR".
Por exemplo, se o valor fornecido for 1, os sinalizadores de InstanceCloseDelayDuration são definidos.
- Nenhum – não indica que outras propriedades estão definidas. O valor é zero.
- InstanceCloseDelayDuration - Indica que a propriedade InstanceCloseDelayDuration está definida. O valor é 1.
- InstanceRestartWaitDuration - Indica que a propriedade InstanceRestartWaitDurationSeconds está definida. O valor é 2.
InstanceCloseDelayDurationSeconds
Tipo: número inteiro (int64)
Obrigatório: Não
InclusiveMaximum: 4294967295
InclusiveMinimum: 0
Duração em segundos, para aguardar até que uma instância sem estado seja fechada, para permitir que os pedidos ativos drenem corretamente. Isto seria eficaz quando a instância estiver a fechar durante a atualização da aplicação/cluster e a desativar o nó.
O ponto final exposto nesta instância é removido antes de iniciar o atraso, o que impede novas ligações a esta instância.
Além disso, os clientes que subscreveram eventos de alteração de ponto final de serviço(https://docs.microsoft.com/dotnet/api/system.fabric.fabricclient.servicemanagementclient.registerservicenotificationfilterasync), podem fazer o seguinte ao receber a notificação de remoção do ponto final: – Pare de enviar novos pedidos para esta instância.
- Feche as ligações existentes após a conclusão dos pedidos em voo.
- Ligue-se a uma instância diferente da partição do serviço para pedidos futuros.
Tenha em atenção que o valor predefinido de InstanceCloseDelayDuration é 0, o que indica que não haverá qualquer atraso ou remoção do ponto final antes de fechar a instância.
InstanceLifecycleDescription
Tipo: InstanceLifecycleDescription
Obrigatório: Não
Define o comportamento das instâncias deste serviço durante o ciclo de vida.
InstanceRestartWaitDurationSeconds
Tipo: número inteiro (int64)
Obrigatório: Não
InclusiveMaximum: 4294967295
InclusiveMinimum: 0
Quando uma instância sem estado fica inativa, este temporizador é iniciado. Quando expirar, o Service Fabric criará uma nova instância em qualquer nó do cluster.
Esta configuração destina-se a reduzir a criação desnecessária de uma nova instância em situações em que é provável que a instância que vai para baixo recupere num curto espaço de tempo. Por exemplo, durante uma atualização.
O valor predefinido é 0, o que indica que quando a instância sem estado fica inativa, o Service Fabric começará imediatamente a criar a sua substituição.