Sdílet prostřednictvím


Konfigurace klienta

Klient pro připojení ke clusteru sila a odesílání požadavků na zrní je nakonfigurován programově prostřednictvím IHostBuilder a několika doplňkových tříd možností. Podobně jako možnosti sila se třídy možností klienta řídí vzorem Možnosti v .NET.

Klient pro připojení ke clusteru sila a odesílání požadavků na zrní je nakonfigurován programově prostřednictvím ClientBuilder a několika doplňkových tříd možností. Podobně jako možnosti sila se třídy možností klienta řídí vzorem Možnosti v .NET.

Tip

Pokud chcete jenom spustit místní silo a místního klienta pro účely vývoje, přečtěte si téma Konfigurace místního vývoje.

Přidejte Microsoft .Orleans. Balíček NuGet Clustering.AzureStorage do klientského projektu

Konfigurace klienta má několik klíčových aspektů:

  • Orleans informace o clusteringu
  • Poskytovatel clusteringu
  • Části aplikace

Příklad konfigurace klienta:

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();

Pojďme si rozčlenět kroky použité v této ukázce:

Orleans informace o clusteringu

    .Configure<ClusterOptions>(options =>
    {
        options.ClusterId = "orleans-docker";
        options.ServiceId = "AspNetSampleApp";
    })

Tady nastavíme dvě věci:

  • to ClusterOptions.ClusterId "my-first-cluster": toto je jedinečné ID clusteru Orleans . Všichni klienti a sila, kteří používají toto ID, budou moct vzájemně komunikovat přímo. Někteří se například rozhodnou pro jednotlivá nasazení použít jinou ClusterId .
  • to ClusterOptions.ServiceId "AspNetSampleApp": toto je jedinečné ID pro vaši aplikaci, které bude používáno některými poskytovateli (například pro poskytovatele trvalosti). Toto ID by mělo být stabilní (beze změny) napříč nasazeními.

Poskytovatel clusteringu

.UseAzureStorageClustering(
    options => options.ConfigureTableServiceClient(connectionString);
.UseAzureStorageClustering(
    options => options.ConnectionString = connectionString)

Klient zjistí všechny brány dostupné v clusteru pomocí tohoto poskytovatele. K dispozici je několik poskytovatelů, tady v této ukázce používáme zprostředkovatele tabulky Azure.

Další informace naleznete v tématu Konfigurace serveru.

Části aplikace

.ConfigureApplicationParts(
    parts => parts.AddApplicationPart(
        typeof(IValueGrain).Assembly))
        .WithReferences())

Další informace naleznete v tématu Konfigurace serveru.