Configurare KVSActorStateProvider di Reliable ActorsConfiguring Reliable Actors--KVSActorStateProvider

È possibile modificare la configurazione predefinita di KVSActorStateProvider cambiando il file settings.xml generato nella radice del pacchetto di Microsoft Visual Studio all'interno della cartella Config per l'attore specificato.You can modify the default configuration of KVSActorStateProvider by changing the settings.xml file that is generated in the Microsoft Visual Studio package root under the Config folder for the specified actor.

Il runtime di Service Fabric di Azure cerca i nomi di sezione predefiniti nel file settings.xml e utilizza i valori di configurazione durante la creazione dei componenti di runtime sottostanti.The Azure Service Fabric runtime looks for predefined section names in the settings.xml file and consumes the configuration values while creating the underlying runtime components.

Nota

Non eliminare o modificare i nomi di sezione delle configurazioni seguenti nel file settings.xml generato nella soluzione Visual Studio.Do not delete or modify the section names of the following configurations in the settings.xml file that is generated in the Visual Studio solution.

Configurazione della sicurezza del replicatoreReplicator security configuration

Le configurazioni della sicurezza del replicatore consentono di proteggere il canale di comunicazione usato durante la replica.Replicator security configurations are used to secure the communication channel that is used during replication. Questo significa che i servizi non potranno visualizzare l'uno il traffico di replica dell'altro, garantendo la sicurezza dei dati a disponibilità elevata.This means that services cannot see each other's replication traffic, ensuring that the data that is made highly available is also secure. Per impostazione predefinita, una sezione di configurazione della sicurezza vuota non abilita la sicurezza della replica.By default, an empty security configuration section prevents replication security.

Importante

Nei nodi di Linux i certificati devono essere formattati con estensione PEM.On Linux nodes, certificates must be PEM-formatted. Per altre informazioni sull'individuazione e la configurazione dei certificati per Linux, vedere Configurare i certificati in Linux.To learn more about locating and configuring certificates for Linux, see Configure certificates on Linux.

Nome della sezioneSection name

<ActorName>ServiceReplicatorSecurityConfig<ActorName>ServiceReplicatorSecurityConfig

Configurazione del replicatoreReplicator configuration

Le configurazioni del replicatore riguardano il replicatore responsabile di garantire l'elevata affidabilità dello stato del provider di stato degli attori.Replicator configurations configure the replicator that is responsible for making the Actor State Provider state highly reliable. La configurazione predefinita viene generata dal modello di Visual Studio e dovrebbe essere sufficiente.The default configuration is generated by the Visual Studio template and should suffice. Questa sezione descrive le configurazioni aggiuntive che sono disponibili per ottimizzare il replicatore.This section talks about additional configurations that are available to tune the replicator.

Nome della sezioneSection name

<ActorName>ServiceReplicatorConfig<ActorName>ServiceReplicatorConfig

Nomi delle configurazioniConfiguration names

NOMEName UnitàUnit Valore predefinitoDefault value OsservazioniRemarks
BatchAcknowledgementIntervalBatchAcknowledgementInterval SecondiSeconds 0,0150.015 Periodo di tempo per cui il replicatore, dopo aver ricevuto un'operazione, attende presso il replicatore secondario prima di inviare un acknowledgement al replicatore principale.Time period for which the replicator at the secondary waits after receiving an operation before sending back an acknowledgement to the primary. Gli altri acknowledgement relativi alle operazioni elaborate all'interno di questo intervallo vengono inviati come risposta unica.Any other acknowledgements to be sent for operations processed within this interval are sent as one response.
ReplicatorEndpointReplicatorEndpoint N/DN/A Nessun valore predefinito: parametro obbligatorioNo default--required parameter Indirizzo IP e porta che il replicatore principale/secondario userà per comunicare con altri replicatori nel set di repliche.IP address and port that the primary/secondary replicator will use to communicate with other replicators in the replica set. Deve fare riferimento a un endpoint di risorsa TCP nel manifesto del servizio.This should reference a TCP resource endpoint in the service manifest. Per informazioni sulla definizione delle risorse dell'endpoint nel manifesto del servizio, vedere Specificare le risorse in un manifesto del servizio.Refer to Service manifest resources to read more about defining endpoint resources in the service manifest.
RetryIntervalRetryInterval SecondiSeconds 55 Periodo di tempo dopo il quale il replicatore trasmette nuovamente un messaggio se non riceve l'acknowledgement di un'operazione.Time period after which the replicator re-transmits a message if it does not receive an acknowledgement for an operation.
MaxReplicationMessageSizeMaxReplicationMessageSize ByteBytes 50 MB50 MB Dimensione massima dei dati di replica che è possibile trasmettere in un singolo messaggio.Maximum size of replication data that can be transmitted in a single message.
MaxPrimaryReplicationQueueSizeMaxPrimaryReplicationQueueSize Numero di operazioniNumber of operations 10241024 Numero massimo di operazioni nella coda principale.Maximum number of operations in the primary queue. Un'operazione viene liberata quando il replicatore principale riceve un acknowledgement da tutti i replicatori secondari.An operation is freed up after the primary replicator receives an acknowledgement from all the secondary replicators. Questo valore deve essere maggiore di 64 ed essere una potenza di 2.This value must be greater than 64 and a power of 2.
MaxSecondaryReplicationQueueSizeMaxSecondaryReplicationQueueSize Numero di operazioniNumber of operations 20482048 Numero massimo di operazioni nella coda secondaria.Maximum number of operations in the secondary queue. Un'operazione viene liberata quando il relativo stato viene reso altamente disponibile tramite persistenza.An operation is freed up after making its state highly available through persistence. Questo valore deve essere maggiore di 64 ed essere una potenza di 2.This value must be greater than 64 and a power of 2.

Configurazione dell'archivioStore configuration

Le configurazioni dell'archivio vengono usate per configurare l'archivio locale che consente di rendere persistente lo stato replicato.Store configurations are used to configure the local store that is used to persist the state that is being replicated. La configurazione predefinita viene generata dal modello di Visual Studio e dovrebbe essere sufficiente.The default configuration is generated by the Visual Studio template and should suffice. Questa sezione descrive le configurazioni aggiuntive che sono disponibili per ottimizzare l'archivio locale.This section talks about additional configurations that are available to tune the local store.

Nome della sezioneSection name

<ActorName>ServiceLocalStoreConfig<ActorName>ServiceLocalStoreConfig

Nomi delle configurazioniConfiguration names

NomeName UnitàUnit Valore predefinitoDefault value OsservazioniRemarks
MaxAsyncCommitDelayInMillisecondsMaxAsyncCommitDelayInMilliseconds MillisecondiMilliseconds 200200 Intervallo massimo di invio in batch per i commit durevoli nell'archivio locale.Sets the maximum batching interval for durable local store commits.
MaxVerPagesMaxVerPages Numero di pagineNumber of pages 1638416384 Numero massimo di pagine della versione nel database dell'archivio locale.The maximum number of version pages in the local store database. Determina il numero massimo di transazioni in sospeso.It determines the maximum number of outstanding transactions.

File di configurazione di esempioSample configuration file

<?xml version="1.0" encoding="utf-8"?>
<Settings xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://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>

OsservazioniRemarks

Il parametro BatchAcknowledgementInterval controlla la latenza di replica.The BatchAcknowledgementInterval parameter controls replication latency. Il valore '0' determina la latenza più bassa possibile a scapito della velocità effettiva, in quanto è necessario inviare ed elaborare una maggiore quantità di messaggi di acknowledgement, ciascuno dei quali contenente un numero minore di acknowledgement.A value of '0' results in the lowest possible latency, at the cost of throughput (as more acknowledgement messages must be sent and processed, each containing fewer acknowledgements). Più alto è il valore di BatchAcknowledgementInterval, maggiore sarà la velocità effettiva di replica complessiva, ma con una latenza delle operazioni più elevata.The larger the value for BatchAcknowledgementInterval, the higher the overall replication throughput, at the cost of higher operation latency. Questo ha un impatto diretto sulla latenza dei commit delle transazioni.This directly translates to the latency of transaction commits.