Share via


Reliable Actors configureren--KVSActorStateProvider

U kunt de standaardconfiguratie van KVSActorStateProvider wijzigen door het settings.xml-bestand te wijzigen dat wordt gegenereerd in de hoofdmap van het Microsoft Visual Studio-pakket onder de map Config voor de opgegeven actor.

De Azure Service Fabric-runtime zoekt naar vooraf gedefinieerde sectienamen in het settings.xml-bestand en gebruikt de configuratiewaarden tijdens het maken van de onderliggende runtime-onderdelen.

Notitie

Verwijder of wijzig de sectienamen van de volgende configuraties niet in het settings.xml-bestand dat wordt gegenereerd in de Visual Studio-oplossing.

Configuratie van replicatorbeveiliging

Replicatorbeveiligingsconfiguraties worden gebruikt om het communicatiekanaal te beveiligen dat wordt gebruikt tijdens de replicatie. Dit betekent dat services elkaars replicatieverkeer niet kunnen zien, zodat de gegevens die maximaal beschikbaar worden gemaakt, ook veilig zijn. Een lege sectie voor de beveiligingsconfiguratie voorkomt standaard replicatiebeveiliging.

Belangrijk

Op Linux-knooppunten moeten certificaten pem-indeling hebben. Zie Certificaten configureren in Linux voor meer informatie over het zoeken en configureren van certificaten voor Linux.

Sectienaam

<ActorName>ServiceReplicatorSecurityConfig

Replicatorconfiguratie

Met replicatorconfiguraties wordt de replicator geconfigureerd die verantwoordelijk is voor het zeer betrouwbaar maken van de statusprovider van de actorstatus. De standaardconfiguratie wordt gegenereerd door de Visual Studio-sjabloon en moet voldoende zijn. In deze sectie worden aanvullende configuraties besproken die beschikbaar zijn om de replicator af te stemmen.

Sectienaam

<ActorName>ServiceReplicatorConfig

Configuratienamen

Naam Eenheid Standaardwaarde Opmerkingen
BatchAcknowledgementInterval Seconden 0.015 Tijdsperiode waarvoor de replicator op de secundaire locatie wacht na ontvangst van een bewerking voordat een bevestiging naar de primaire instantie wordt verzonden. Alle andere bevestigingen die moeten worden verzonden voor bewerkingen die binnen dit interval worden verwerkt, worden als één antwoord verzonden.
ReplicatorEndpoint N.v.t. Geen standaardparameter vereist IP-adres en poort die de primaire/secundaire replicator gebruikt om te communiceren met andere replicators in de replicaset. Dit moet verwijzen naar een TCP-resource-eindpunt in het servicemanifest. Raadpleeg Servicemanifestresources voor meer informatie over het definiëren van eindpuntresources in het servicemanifest.
RetryInterval Seconden 5 Periode waarna de replicator een bericht opnieuw verzendt als deze geen bevestiging voor een bewerking ontvangt.
MaxReplicationMessageSize Bytes 50 MB Maximale grootte van replicatiegegevens die in één bericht kunnen worden verzonden.
MaxPrimaryReplicationQueueSize Aantal bewerkingen 1024 Maximum aantal bewerkingen in de primaire wachtrij. Een bewerking wordt vrijgemaakt nadat de primaire replicator een bevestiging heeft ontvangen van alle secundaire replicators. Deze waarde moet groter zijn dan 64 en een macht van 2.
MaxSecondaryReplicationQueueSize Aantal bewerkingen 2048 Maximum aantal bewerkingen in de secundaire wachtrij. Een bewerking wordt vrijgemaakt nadat de status maximaal beschikbaar is via persistentie. Deze waarde moet groter zijn dan 64 en een macht van 2.

Configuratie van store

Winkelconfiguraties worden gebruikt om het lokale archief te configureren dat wordt gebruikt om de status te behouden die wordt gerepliceerd. De standaardconfiguratie wordt gegenereerd door de Visual Studio-sjabloon en moet voldoende zijn. In deze sectie wordt gesproken over aanvullende configuraties die beschikbaar zijn om het lokale archief af te stemmen.

Sectienaam

<ActorName>ServiceLocalStoreConfig

Configuratienamen

Naam Eenheid Standaardwaarde Opmerkingen
MaxAsyncCommitDelayInMilliseconds Milliseconden 200 Hiermee stelt u het maximale batchinterval in voor doorvoeringen in een duurzaam lokaal archief.
MaxVerPages Aantal pagina's 16384 Het maximum aantal versiepagina's in de lokale archiefdatabase. Hiermee wordt het maximum aantal openstaande transacties bepaald.

Voorbeeldconfiguratiebestand

<?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>

Opmerkingen

De parameter BatchAcknowledgementInterval bepaalt de replicatielatentie. Een waarde van '0' resulteert in de laagst mogelijke latentie, ten koste van de doorvoer (omdat er meer bevestigingsberichten moeten worden verzonden en verwerkt, elk met minder bevestigingen). Hoe groter de waarde voor BatchAcknowledgementInterval, hoe hoger de totale replicatiedoorvoer, ten koste van een hogere bewerkingslatentie. Dit vertaalt zich rechtstreeks in de latentie van transactiedoorvoeringen.