Dela via


Konfigurera Reliable Actors – KVSActorStateProvider

Du kan ändra standardkonfigurationen för KVSActorStateProvider genom att ändra den settings.xml fil som genereras i Microsoft Visual Studio-paketroten under mappen Config för den angivna aktören.

Azure Service Fabric-körningen letar efter fördefinierade avsnittsnamn i settings.xml-filen och använder konfigurationsvärdena när de underliggande körningskomponenterna skapas.

Anteckning

Ta inte bort eller ändra avsnittsnamnen för följande konfigurationer i settings.xml-filen som genereras i Visual Studio-lösningen.

Replikeringssäkerhetskonfiguration

Replikeringssäkerhetskonfigurationer används för att skydda kommunikationskanalen som används under replikeringen. Det innebär att tjänsterna inte kan se varandras replikeringstrafik, vilket säkerställer att de data som görs högtillgängliga också är säkra. Som standard förhindrar ett tomt säkerhetskonfigurationsavsnitt replikeringssäkerhet.

Viktigt

På Linux-noder måste certifikaten vara PEM-formaterade. Mer information om att hitta och konfigurera certifikat för Linux finns i Konfigurera certifikat i Linux.

Avsnittsnamn

<ActorName>ServiceReplicatorSecurityConfig

Replikeringskonfiguration

Replikatorkonfigurationer konfigurerar replikatorn som ansvarar för att göra aktörens tillstånd för tillståndsprovidern mycket tillförlitligt. Standardkonfigurationen genereras av Visual Studio-mallen och bör räcka. I det här avsnittet beskrivs ytterligare konfigurationer som är tillgängliga för att finjustera replikatorn.

Avsnittsnamn

<ActorName>ServiceReplicatorConfig

Konfigurationsnamn

Name Enhet Standardvärde Kommentarer
BatchAcknowledgementInterval Sekunder 0.015 Tidsperiod då replikatorn vid den sekundära väntar efter att ha fått en åtgärd innan en bekräftelse skickas tillbaka till den primära. Alla andra bekräftelser som ska skickas för åtgärder som bearbetas inom det här intervallet skickas som ett svar.
ReplicatorEndpoint Ej tillämpligt Ingen standardparameter – obligatorisk parameter IP-adress och port som den primära/sekundära replikatorn använder för att kommunicera med andra replikerare i replikuppsättningen. Detta bör referera till en TCP-resursslutpunkt i tjänstmanifestet. Mer information om hur du definierar slutpunktsresurser i tjänstmanifestet finns i Tjänstmanifestresurser .
RetryInterval Sekunder 5 Tidsperiod efter vilken replikatorn skickar ett meddelande igen om det inte får någon bekräftelse för en åtgärd.
MaxReplicationMessageSize Byte 50 MB Maximal storlek på replikeringsdata som kan överföras i ett enda meddelande.
MaxPrimaryReplicationQueueSize Antal åtgärder 1024 Maximalt antal åtgärder i den primära kön. En åtgärd frigörs när den primära replikatorn tar emot en bekräftelse från alla sekundära replikatorer. Det här värdet måste vara större än 64 och en effekt på 2.
MaxSecondaryReplicationQueueSize Antal åtgärder 2048 Maximalt antal åtgärder i den sekundära kön. En åtgärd frigörs efter att dess tillstånd har hög tillgänglighet genom beständighet. Det här värdet måste vara större än 64 och en effekt på 2.

Lagringskonfiguration

Lagringskonfigurationer används för att konfigurera det lokala arkivet som används för att bevara det tillstånd som replikeras. Standardkonfigurationen genereras av Visual Studio-mallen och bör räcka. I det här avsnittet beskrivs ytterligare konfigurationer som är tillgängliga för att finjustera det lokala arkivet.

Avsnittsnamn

<ActorName>ServiceLocalStoreConfig

Konfigurationsnamn

Name Enhet Standardvärde Kommentarer
MaxAsyncCommitDelayInMilliseconds Millisekunder 200 Anger det maximala batchintervallet för varaktiga lokala arkivincheckningar.
MaxVerPages Antal sidor 16384 Det maximala antalet versionssidor i den lokala lagringsdatabasen. Den avgör det maximala antalet utestående transaktioner.

Exempelkonfigurationsfil

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

Kommentarer

Parametern BatchAcknowledgementInterval styr replikeringsfördröjningen. Värdet "0" resulterar i lägsta möjliga svarstid, på bekostnad av dataflödet (eftersom fler bekräftelsemeddelanden måste skickas och bearbetas, var och en innehåller färre bekräftelser). Ju större värde för BatchAcknowledgementInterval, desto högre är det totala dataflödet för replikering på bekostnad av högre svarstid för åtgärden. Detta innebär direkt svarstiden för transaktionsincheckningar.