Konfigurowanie ustawień fabricTransport dla elementów Reliable Actors
Poniżej przedstawiono ustawienia, które można skonfigurować:
Konfigurację domyślną fabricTransport można zmodyfikować w następujący sposób.
Atrybut zestawu
Atrybut FabricTransportActorRemotingProvider należy zastosować do zestawów usługi klienta i aktora aktora.
W poniższym przykładzie pokazano, jak zmienić wartość domyślną ustawień FabricTransport OperationTimeout:
using Microsoft.ServiceFabric.Actors.Remoting.FabricTransport;
[assembly:FabricTransportActorRemotingProvider(OperationTimeoutInSeconds = 600)]
Drugi przykład zmienia domyślne wartości właściwości FabricTransport MaxMessageSize i OperationTimeoutInSeconds.
using Microsoft.ServiceFabric.Actors.Remoting.FabricTransport;
[assembly:FabricTransportActorRemotingProvider(OperationTimeoutInSeconds = 600,MaxMessageSize = 134217728)]
Pakiet konfiguracji
Aby zmodyfikować konfigurację domyślną , możesz użyć pakietu konfiguracji konfiguracji.
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.
Konfigurowanie ustawień fabricTransport dla usługi aktora
Dodaj sekcję TransportSettings w pliku settings.xml.
Domyślnie kod aktora wyszukuje ciąg SectionName jako "<ActorName>TransportSettings". Jeśli to nie zostanie znalezione, sprawdza wartość SectionName jako "TransportSettings".
<Section Name="MyActorServiceTransportSettings">
<Parameter Name="MaxMessageSize" Value="10000000" />
<Parameter Name="OperationTimeoutInSeconds" Value="300" />
<Parameter Name="SecurityCredentialsType" Value="X509" />
<Parameter Name="CertificateFindType" Value="FindByThumbprint" />
<Parameter Name="CertificateFindValue" Value="4FEF3950642138446CC364A396E1E881DB76B48C" />
<Parameter Name="CertificateRemoteThumbprints" Value="b3449b018d0f6839a2c5d62b5b6c6ac822b6f662" />
<Parameter Name="CertificateStoreLocation" Value="LocalMachine" />
<Parameter Name="CertificateStoreName" Value="My" />
<Parameter Name="CertificateProtectionLevel" Value="EncryptAndSign" />
<Parameter Name="CertificateRemoteCommonNames" Value="ServiceFabric-Test-Cert" />
</Section>
Konfigurowanie ustawień fabricTransport dla zestawu klienta aktora
Jeśli klient nie jest uruchomiony jako część usługi, możesz utworzyć plik "<Nazwa> exe klienta.settings.xml" w tej samej lokalizacji co plik .exe klienta. Następnie dodaj sekcję TransportSettings w tym pliku. Nazwa sekcji powinna mieć wartość "TransportSettings".
<?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="TransportSettings">
<Parameter Name="SecurityCredentialsType" Value="X509" />
<Parameter Name="OperationTimeoutInSeconds" Value="300" />
<Parameter Name="CertificateFindType" Value="FindByThumbprint" />
<Parameter Name="CertificateFindValue" Value="b3449b018d0f6839a2c5d62b5b6c6ac822b6f662" />
<Parameter Name="CertificateRemoteThumbprints" Value="4FEF3950642138446CC364A396E1E881DB76B48C" />
<Parameter Name="OperationTimeoutInSeconds" Value="300" />
<Parameter Name="CertificateStoreLocation" Value="LocalMachine" />
<Parameter Name="CertificateStoreName" Value="My" />
<Parameter Name="CertificateProtectionLevel" Value="EncryptAndSign" />
<Parameter Name="CertificateRemoteCommonNames" Value="WinFabric-Test-SAN1-Alice" />
</Section>
</Settings>
Konfigurowanie ustawień fabricTransport dla usługi bezpiecznego aktora/klienta przy użyciu certyfikatu pomocniczego. Dodatkowe informacje o certyfikacie można dodać przez dodanie parametru CertificateFindValuebySecondary. Poniżej znajduje się przykład dla odbiornika TransportSettings.
<Section Name="TransportSettings"> <Parameter Name="SecurityCredentialsType" Value="X509" /> <Parameter Name="CertificateFindType" Value="FindByThumbprint" /> <Parameter Name="CertificateFindValue" Value="b3449b018d0f6839a2c5d62b5b6c6ac822b6f662" /> <Parameter Name="CertificateFindValuebySecondary" Value="h9449b018d0f6839a2c5d62b5b6c6ac822b6f690" /> <Parameter Name="CertificateRemoteThumbprints" Value="4FEF3950642138446CC364A396E1E881DB76B48C,a9449b018d0f6839a2c5d62b5b6c6ac822b6f667" /> <Parameter Name="CertificateStoreLocation" Value="LocalMachine" /> <Parameter Name="CertificateStoreName" Value="My" /> <Parameter Name="CertificateProtectionLevel" Value="EncryptAndSign" /> </Section>
Poniżej znajduje się przykład dla elementu TransportSettings klienta.
<Section Name="TransportSettings"> <Parameter Name="SecurityCredentialsType" Value="X509" /> <Parameter Name="CertificateFindType" Value="FindByThumbprint" /> <Parameter Name="CertificateFindValue" Value="4FEF3950642138446CC364A396E1E881DB76B48C" /> <Parameter Name="CertificateFindValuebySecondary" Value="a9449b018d0f6839a2c5d62b5b6c6ac822b6f667" /> <Parameter Name="CertificateRemoteThumbprints" Value="b3449b018d0f6839a2c5d62b5b6c6ac822b6f662,h9449b018d0f6839a2c5d62b5b6c6ac822b6f690" /> <Parameter Name="CertificateStoreLocation" Value="LocalMachine" /> <Parameter Name="CertificateStoreName" Value="My" /> <Parameter Name="CertificateProtectionLevel" Value="EncryptAndSign" /> </Section>
Konfigurowanie ustawień FabricTransport na potrzeby zabezpieczania usługi aktora/klienta przy użyciu nazwy podmiotu. Użytkownik musi podać parametr findType jako FindBySubjectName, dodać wartości CertificateIssuerThumbprints i CertificateRemoteCommonNames. Poniżej znajduje się przykład dla odbiornika TransportSettings.
<Section Name="TransportSettings"> <Parameter Name="SecurityCredentialsType" Value="X509" /> <Parameter Name="CertificateFindType" Value="FindBySubjectName" /> <Parameter Name="CertificateFindValue" Value="CN = WinFabric-Test-SAN1-Alice" /> <Parameter Name="CertificateIssuerThumbprints" Value="b3449b018d0f6839a2c5d62b5b6c6ac822b6f662" /> <Parameter Name="CertificateRemoteCommonNames" Value="WinFabric-Test-SAN1-Bob" /> <Parameter Name="CertificateStoreLocation" Value="LocalMachine" /> <Parameter Name="CertificateStoreName" Value="My" /> <Parameter Name="CertificateProtectionLevel" Value="EncryptAndSign" /> </Section>
Poniżej znajduje się przykład dla elementu TransportSettings klienta.
<Section Name="TransportSettings"> <Parameter Name="SecurityCredentialsType" Value="X509" /> <Parameter Name="CertificateFindType" Value="FindBySubjectName" /> <Parameter Name="CertificateFindValue" Value="CN = WinFabric-Test-SAN1-Bob" /> <Parameter Name="CertificateStoreLocation" Value="LocalMachine" /> <Parameter Name="CertificateStoreName" Value="My" /> <Parameter Name="CertificateRemoteCommonNames" Value="WinFabric-Test-SAN1-Alice" /> <Parameter Name="CertificateProtectionLevel" Value="EncryptAndSign" /> </Section>