Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Configure um cliente para se conectar a um cluster de silos e enviar solicitações para grãos programaticamente por meio de um IHostBuilder e várias classes de opções complementares. Assim como as opções de silo, as classes de opção do cliente seguem o padrão Opções no .NET.
Configure um cliente para se conectar a um cluster de silos e enviar solicitações para grãos programaticamente por meio de um ClientBuilder e várias classes de opções complementares. Assim como as opções de silo, as classes de opção do cliente seguem o padrão Opções no .NET.
Dica
Se você quiser apenas iniciar um silo local e um cliente local para fins de desenvolvimento, consulte a configuração de desenvolvimento local.
Adicione o pacote NuGet Microsoft.Orleans.Clustering.AzureStorage ao seu projeto de cliente.
Há vários aspectos principais da configuração do cliente:
- Orleans informações de agrupamento
- Provedor de agrupamento
- Partes do aplicativo
Exemplo de uma configuração de cliente:
var client = new HostBuilder()
.UseOrleansClient((context, clientBuilder) =>
{
clientBuilder.Configure<ClusterOptions>(options =>
{
options.ClusterId = "my-first-cluster";
options.ServiceId = "MyOrleansService";
})
.UseAzureStorageClustering(
options => options.ConfigureTableServiceClient(
context.Configuration["ORLEANS_AZURE_STORAGE_CONNECTION_STRING"]));
})
.Build();
using Orleans.Hosting;
var client = new ClientBuilder()
.Configure<ClusterOptions>(options =>
{
options.ClusterId = "my-first-cluster";
options.ServiceId = "MyOrleansService";
})
.UseAzureStorageClustering(
options => options.ConnectionString = connectionString)
.ConfigureApplicationParts(
parts => parts.AddApplicationPart(
typeof(IValueGrain).Assembly))
.Build();
Vamos dividir as etapas usadas neste exemplo:
Orleans informações de agrupamento
.Configure<ClusterOptions>(options =>
{
options.ClusterId = "orleans-docker";
options.ServiceId = "AspNetSampleApp";
})
Aqui, definimos duas coisas:
- O ClusterOptions.ClusterId para
"my-first-cluster"
: Este é um ID único para o cluster Orleans. Todos os clientes e silos que usam essa ID podem se comunicar diretamente entre si. Alguns podem optar por usar umClusterId
diferente para cada implantação, por exemplo. - O ClusterOptions.ServiceId para
"AspNetSampleApp"
: Este é um ID exclusivo para sua aplicação, utilizado por alguns provedores (por exemplo, provedores de persistência). Essa ID deve permanecer estável entre as implantações.
Provedor de agrupamento
.UseAzureStorageClustering(
options => options.ConfigureTableServiceClient(connectionString);
.UseAzureStorageClustering(
options => options.ConnectionString = connectionString)
O cliente descobre todos os gateways disponíveis no cluster usando esse provedor. Vários provedores estão disponíveis; aqui, usamos o provedor de Tabelas do Azure.
Para obter mais informações, consulte a configuração do servidor.
Partes do aplicativo
.ConfigureApplicationParts(
parts => parts.AddApplicationPart(
typeof(IValueGrain).Assembly))
.WithReferences())
Para obter mais informações, consulte a configuração do servidor.