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.