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 Configuratie voor de opgegeven actor.
De Azure Service Fabric-runtime zoekt naar vooraf gedefinieerde sectienamen in het settings.xml-bestand en verbruikt de configuratiewaarden tijdens het maken van de onderliggende runtimeonderdelen.
Notitie
Verwijder of wijzig de sectienamen van de volgende configuraties niet in het settings.xml-bestand dat is gegenereerd in de Visual Studio-oplossing.
Configuratie van replicatorbeveiliging
Replicatorbeveiligingsconfiguraties worden gebruikt om het communicatiekanaal te beveiligen dat tijdens de replicatie wordt gebruikt. Dit betekent dat services elkaars replicatieverkeer niet kunnen zien, zodat de gegevens die maximaal beschikbaar worden gesteld ook veilig zijn. Standaard voorkomt een lege beveiligingsconfiguratiesectie replicatiebeveiliging.
Belangrijk
Op Linux-knooppunten moeten certificaten met PEM-indeling zijn opgemaakt. Zie Certificaten configureren in Linux voor meer informatie over het zoeken en configureren van certificaten voor Linux.
Sectienaam
<ActorName>ServiceReplicatorSecurityConfig
Replicatorconfiguratie
Replicatorconfiguraties configureren de replicator die verantwoordelijk is voor het zeer betrouwbaar maken van de status actorstatusprovider. De standaardconfiguratie wordt gegenereerd door de Visual Studio-sjabloon en moet voldoende zijn. In deze sectie vindt u informatie over aanvullende configuraties die beschikbaar zijn om de replicator af te stemmen.
Sectienaam
<ActorName>ServiceReplicatorConfig
Configuratienamen
Naam | Eenheid | Default value | Opmerkingen |
---|---|---|---|
BatchAcknowledgementInterval | Seconden | 0,015 | De periode waarvoor de replicator op de secundaire server wacht na ontvangst van een bewerking voordat een bevestiging naar de primaire wordt teruggestuurd. 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 | Tijdsperiode waarna de replicator een bericht opnieuw verzendt als er geen bevestiging voor een bewerking wordt ontvangen. |
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 ontvangt 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 opslaan
Opslagconfiguraties 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 vindt u informatie over aanvullende configuraties die beschikbaar zijn om het lokale archief af te stemmen.
Sectienaam
<ActorName>ServiceLocalStoreConfig
Configuratienamen
Naam | Eenheid | Default value | Opmerkingen |
---|---|---|---|
MaxAsyncCommitDelayInMilliseconds | Milliseconden | 200 | Hiermee stelt u het maximale batchinterval in voor duurzame lokale opslagdoorvoeringen. |
MaxVerPages | Aantal pagina's | 16384 | Het maximum aantal versiepagina's in de lokale archiefdatabase. Het bepaalt het maximum aantal openstaande transacties. |
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 latentie van de replicatie. Een waarde van '0' resulteert in de laagst mogelijke latentie, ten koste van 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 latentie van de bewerking. Dit vertaalt zich rechtstreeks naar de latentie van transactiedoorvoeringen.