Udostępnij za pośrednictwem


Konfigurowanie elementów Reliable Actors — KVSActorStateProvider

Domyślną konfigurację KVSActorStateProvider można zmodyfikować, zmieniając plik settings.xml wygenerowany w katalogu głównym pakietu Programu Microsoft Visual Studio w folderze Config dla określonego aktora.

Środowisko uruchomieniowe usługi Azure Service Fabric wyszukuje wstępnie zdefiniowane nazwy sekcji w pliku settings.xml i używa wartości konfiguracji podczas tworzenia podstawowych składników środowiska uruchomieniowego.

Uwaga

Nie usuwaj ani nie modyfikuj nazw sekcji następujących konfiguracji w pliku settings.xml generowanym w rozwiązaniu programu Visual Studio.

Konfiguracja zabezpieczeń replikatora

Konfiguracje zabezpieczeń replikatora służą do zabezpieczania kanału komunikacyjnego używanego podczas replikacji. Oznacza to, że usługi nie widzą ruchu replikacji między sobą, zapewniając, że dane, które są udostępniane w wysokiej dostępności, są również bezpieczne. Domyślnie pusta sekcja konfiguracji zabezpieczeń uniemożliwia zabezpieczenia replikacji.

Ważne

W węzłach systemu Linux certyfikaty muszą być sformatowane jako PEM. Aby dowiedzieć się więcej na temat lokalizowania i konfigurowania certyfikatów dla systemu Linux, zobacz Konfigurowanie certyfikatów w systemie Linux.

Nazwa sekcji

<ActorName>ServiceReplicatorSecurityConfig

Konfiguracja replikatora

Konfiguracje replikatora konfigurują replikator, który jest odpowiedzialny za zapewnienie wysokiej niezawodności dostawcy stanu aktora. Domyślna konfiguracja jest generowana przez szablon programu Visual Studio i powinna wystarczyć. W tej sekcji omówiono dodatkowe konfiguracje, które są dostępne do dostrajania replikatora.

Nazwa sekcji

<ActorName>ServiceReplicatorConfig

Nazwy konfiguracji

Nazwisko Jednostka Domyślna wartość Uwagi
BatchAcknowledgementInterval Sekundy 0,015 Okres, dla którego replikator w pomocniczej chwili czeka po otrzymaniu operacji przed wysłaniem potwierdzenia do podstawowego. Wszelkie inne potwierdzenia wysyłane dla operacji przetworzonych w tym interwale są wysyłane jako jedna odpowiedź.
ReplikatorEndpoint Nie dotyczy Brak parametru domyślnego Adres IP i port używany przez replikator podstawowy/pomocniczy do komunikowania się z innymi replikatorami w zestawie replik. Powinno to odwoływać się do punktu końcowego zasobu TCP w manifeście usługi. Zapoznaj się z zasobami manifestu usługi, aby dowiedzieć się więcej na temat definiowania zasobów punktu końcowego w manifeście usługi.
RetryInterval Sekundy 5 Okres, po którym replikator ponownie przesyła komunikat, jeśli nie otrzyma potwierdzenia dla operacji.
MaxReplicationMessageSize Bajty 50 MB Maksymalny rozmiar danych replikacji, które mogą być przesyłane w jednym komunikacie.
MaxPrimaryReplicationQueueSize Liczba operacji 1024 Maksymalna liczba operacji w kolejce podstawowej. Operacja jest zwalniana po odebraniu potwierdzenia przez replikator podstawowy ze wszystkich replikatorów pomocniczych. Ta wartość musi być większa niż 64 i moc 2.
MaxSecondaryReplicationQueueSize Liczba operacji 2048 Maksymalna liczba operacji w kolejce pomocniczej. Operacja jest zwalniana po udostępnieniu stanu wysokiej dostępności przez trwałość. Ta wartość musi być większa niż 64 i moc 2.

Konfiguracja magazynu

Konfiguracje magazynu służą do konfigurowania magazynu lokalnego używanego do utrwalania stanu replikowanego. Domyślna konfiguracja jest generowana przez szablon programu Visual Studio i powinna wystarczyć. W tej sekcji omówiono dodatkowe konfiguracje, które są dostępne do dostosowania magazynu lokalnego.

Nazwa sekcji

<ActorName>ServiceLocalStoreConfig

Nazwy konfiguracji

Nazwisko Jednostka Domyślna wartość Uwagi
MaxAsyncCommitDelayInMilliseconds Milisekundy 200 Ustawia maksymalny interwał dzielenia na partie dla trwałych zatwierdzeń magazynu lokalnego.
MaxVerPages Liczba stron 16384 Maksymalna liczba stron wersji w bazie danych magazynu lokalnego. Określa maksymalną liczbę zaległych transakcji.

Przykładowy plik konfiguracji

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

Uwagi

Parametr BatchAcknowledgementInterval kontroluje opóźnienie replikacji. Wartość "0" powoduje najmniejsze możliwe opóźnienie kosztem przepływności (ponieważ należy wysłać i przetworzyć więcej komunikatów potwierdzenia, z których każda zawiera mniej potwierdzeń). Im większa wartość parametru BatchAcknowledgementInterval, tym większa jest ogólna przepływność replikacji kosztem większego opóźnienia operacji. Przekłada się to bezpośrednio na opóźnienie zatwierdzeń transakcji.