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

<NazwaAktora>ServiceReplicatorSecurityConfig

Konfiguracja replikatora

Konfiguracje replikatora ustawiają parametry replikatora, który odpowiada za wysoką niezawodność stanu 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>KonfiguracjaReplikatoraUsługi

Nazwy konfiguracji

Nazwa Jednostka Wartość domyślna Uwagi
InterwałPotwierdzeniaPartii Sekund 0.015 Czas, przez jaki replikator w drugorzędnym węźle czeka po otrzymaniu operacji, zanim wyśle potwierdzenie do węzła głównego. Wszelkie inne potwierdzenia wysyłane dla operacji przetworzonych w tym interwale są wysyłane jako jedna odpowiedź.
PunktKońcowyReplikatora N/A Brak domyślnego parametru – wymagany parametr 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.
InterwałPonawiania Sekund 5 Okres, po którym replikator ponownie przesyła komunikat, jeśli nie otrzyma potwierdzenia dla operacji.
MaksymalnyRozmiarWiadomościReplikacji Bajty 50 MB Maksymalny rozmiar danych replikacji, które mogą być przesyłane w jednym komunikacie.
MaksymalnyRozmiarKolejkiReplikacjiPodstawowej Liczba operacji 1024 Maksymalna liczba operacji w kolejce podstawowej. Operacja jest zwalniana po odebraniu potwierdzenia przez replikator główny ze wszystkich replikatorów wtórnych. Ta wartość musi być większa niż 64 i moc 2.
Maksymalny Rozmiar Kolejki Replikacji Wtórnej Liczba operacji 2048 Maksymalna liczba operacji w kolejce pomocniczej. Operacja jest zwalniana po zapewnieniu wysokiej dostępności stanu poprzez jego utrwalenie. 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 konfigurowania magazynu lokalnego.

Nazwa sekcji

<ActorName>ServiceLocalStoreConfig

Nazwy konfiguracji

Nazwa Jednostka Wartość domyślna Uwagi
MaxAsyncCommitDelayInMilliseconds Milisekundy 200 Ustawia maksymalny interwał przetwarzania w partiach dla trwałych zatwierdzeń w lokalnym magazynie danych.
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.