Definir as configurações de FabricTransport para os Reliable Actors
Aqui estão as configurações que você pode configurar:
Modifique a configuração padrão de FabricTransport das seguintes maneiras.
Atributo de assembly
O atributo FabricTransportActorRemotingProvider precisa ser aplicado no cliente do ator e nos assemblies do serviço de ator.
O exemplo a seguir mostra como alterar o valor padrão das configurações OperationTimeout do FabricTransport:
using Microsoft.ServiceFabric.Actors.Remoting.FabricTransport;
[assembly:FabricTransportActorRemotingProvider(OperationTimeoutInSeconds = 600)]
O segundo exemplo altera os valores padrão de FabricTransport MaxMessageSize e OperationTimeoutInSeconds.
using Microsoft.ServiceFabric.Actors.Remoting.FabricTransport;
[assembly:FabricTransportActorRemotingProvider(OperationTimeoutInSeconds = 600,MaxMessageSize = 134217728)]
Pacote de configuração
Você pode usar um pacote de configuração para modificar a configuração padrão.
Importante
Em nós Linux, certificados devem estar formatados como PEM. Para saber mais sobre como localizar e configurar certificados para Linux, consulte Configurar certificados em Linux.
Definir as configurações do FabricTransport para o serviço de ator
Adicione uma seção TransportSettings no arquivo settings.xml.
Por padrão, o código do ator procura SectionName como "<ActorName>TransportSettings". Se isso não for encontrado, ele procurará SectionName como "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>
Definir as configurações do FabricTransport para o assembly do cliente do ator
Se o cliente não estiver sendo executado como parte de um serviço, você poderá criar um arquivo "<Client Exe Name>.settings.xml" no mesmo local do arquivo .exe do cliente. Em seguida, adicione uma seção TransportSettings a esse arquivo. O SectionName deve ser "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>
Definindo as configurações de FabricTransport do cliente/serviço de ator seguro com certificado secundário. Informações de certificado secundário podem ser adicionadas, incluindo o parâmetro CertificateFindValuebySecondary. Abaixo está o exemplo para o ouvinte 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>
Abaixo está o exemplo para o cliente TransportSettings.
<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>
Definindo as configurações de FabricTransport do serviço/cliente do ator usando o nome do assunto. O usuário precisa fornecer findType como FindBySubjectName, adicionar valores CertificateIssuerThumbprints e CertificateRemoteCommonNames. Abaixo está o exemplo para o ouvinte 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>
Abaixo está o exemplo para o cliente TransportSettings.
<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>