Configurando atores confiáveis--KVSActorStateProvider
Você pode modificar a configuração padrão do KVSActorStateProvider alterando o arquivo de settings.xml gerado na raiz do pacote do Microsoft Visual Studio na pasta Config para o ator especificado.
O tempo de execução do Azure Service Fabric procura nomes de seção predefinidos no arquivo de settings.xml e consome os valores de configuração ao criar os componentes de tempo de execução subjacentes.
Nota
Não exclua ou modifique os nomes de seção das seguintes configurações no arquivo settings.xml que é gerado na solução Visual Studio.
Configuração de segurança do replicador
As configurações de segurança do replicador são usadas para proteger o canal de comunicação usado durante a replicação. Isso significa que os serviços não podem ver o tráfego de replicação uns dos outros, garantindo que os dados altamente disponíveis também estejam seguros. Por padrão, uma seção de configuração de segurança vazia impede a segurança de replicação.
Importante
Nos nós Linux, os certificados devem ser formatados em PEM. Para saber mais sobre como localizar e configurar certificados para Linux, consulte Configurar certificados no Linux.
Nome da secção
<ActorName>ServiceReplicatorSecurityConfig
Configuração do replicador
As configurações do replicador configuram o replicador responsável por tornar o estado do Provedor de Estado do Ator altamente confiável. A configuração padrão é gerada pelo modelo do Visual Studio e deve ser suficiente. Esta seção fala sobre configurações adicionais que estão disponíveis para ajustar o replicador.
Nome da secção
<ActorName>ServiceReplicatorConfig
Nomes de configuração
Nome | Unit | Default value | Observações |
---|---|---|---|
BatchAcknowledgementInterval | Segundos | 0,015 | Período de tempo pelo qual o replicador no secundário aguarda depois de receber uma operação antes de enviar de volta uma confirmação para o primário. Quaisquer outras confirmações a serem enviadas para operações processadas dentro deste intervalo são enviadas como uma resposta. |
ReplicatorEndpoint | N/A | Nenhum parâmetro padrão - obrigatório | Endereço IP e porta que o replicador primário/secundário usará para se comunicar com outros replicadores no conjunto de réplicas. Isso deve fazer referência a um ponto de extremidade de recurso TCP no manifesto do serviço. Consulte Recursos de manifesto de serviço para ler mais sobre como definir recursos de ponto de extremidade no manifesto de serviço. |
RetryInterval | Segundos | 5 | Período de tempo após o qual o replicador retransmite uma mensagem se não receber uma confirmação de uma operação. |
MaxReplicationMessageSize | Bytes | 50 MB | Tamanho máximo dos dados de replicação que podem ser transmitidos em uma única mensagem. |
MaxPrimaryReplicationQueueSize | Número de operações | 1024 | Número máximo de operações na fila principal. Uma operação é liberada depois que o replicador primário recebe uma confirmação de todos os replicadores secundários. Este valor deve ser superior a 64 e uma potência de 2. |
MaxSecondaryReplicationQueueSize | Número de operações | 2048 | Número máximo de operações na fila secundária. Uma operação é liberada depois de tornar seu estado altamente disponível através da persistência. Este valor deve ser superior a 64 e uma potência de 2. |
Configuração da loja
As configurações de armazenamento são usadas para configurar o armazenamento local que é usado para persistir o estado que está sendo replicado. A configuração padrão é gerada pelo modelo do Visual Studio e deve ser suficiente. Esta seção fala sobre configurações adicionais que estão disponíveis para ajustar o armazenamento local.
Nome da secção
<ActorName>ServiceLocalStoreConfig
Nomes de configuração
Nome | Unit | Default value | Observações |
---|---|---|---|
MaxAsyncCommitDelayInMilliseconds | Milissegundos | 200 | Define o intervalo máximo de processamento em lote para confirmações de armazenamento local duráveis. |
MaxVerPages | Número de páginas | 16384 | O número máximo de páginas de versão no banco de dados de armazenamento local. Determina o número máximo de transações pendentes. |
Arquivo de configuração de exemplo
<?xml version="1.0" encoding="utf-8"?>
<Settings xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2011/01/fabric">
<Section Name="MyActorServiceReplicatorConfig">
<Parameter Name="ReplicatorEndpoint" Value="MyActorServiceReplicatorEndpoint" />
<Parameter Name="BatchAcknowledgementInterval" Value="0.05"/>
</Section>
<Section Name="MyActorServiceLocalStoreConfig">
<Parameter Name="MaxVerPages" Value="8192" />
</Section>
<Section Name="MyActorServiceReplicatorSecurityConfig">
<Parameter Name="CredentialType" Value="X509" />
<Parameter Name="FindType" Value="FindByThumbprint" />
<Parameter Name="FindValue" Value="9d c9 06 b1 69 dc 4f af fd 16 97 ac 78 1e 80 67 90 74 9d 2f" />
<Parameter Name="StoreLocation" Value="LocalMachine" />
<Parameter Name="StoreName" Value="My" />
<Parameter Name="ProtectionLevel" Value="EncryptAndSign" />
<Parameter Name="AllowedCommonNames" Value="My-Test-SAN1-Alice,My-Test-SAN1-Bob" />
</Section>
</Settings>
Observações
O parâmetro BatchAcknowledgementInterval controla a latência da replicação. Um valor de '0' resulta na menor latência possível, ao custo da taxa de transferência (já que mais mensagens de confirmação devem ser enviadas e processadas, cada uma contendo menos confirmações). Quanto maior o valor de BatchAcknowledgementInterval, maior a taxa de transferência geral da replicação, ao custo de maior latência de operação. Isso se traduz diretamente na latência das confirmações de transações.