Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Skonfiguruj klienta do nawiązywania połączenia z klastrem silosów i wysyłania żądań do ziaren programowo poprzez IHostBuilder i kilka dodatkowych klas opcji. Podobnie jak w przypadku opcji silosu, klasy opcji klienta są zgodne ze wzorcem Opcji na platformie .NET.
Skonfiguruj klienta do nawiązywania połączenia z klastrem silosów i wysyłania żądań do ziaren programowo poprzez ClientBuilder i kilka dodatkowych klas opcji. Podobnie jak w przypadku opcji silosu, klasy opcji klienta są zgodne ze wzorcem Opcji na platformie .NET.
Wskazówka
Jeśli chcesz tylko uruchomić lokalny silos i lokalny klient na potrzeby programowania, zobacz Konfiguracja programowania lokalnego.
Dodaj pakiet NuGet Microsoft.Orleans.Clustering.AzureStorage do projektu klienta.
Istnieje kilka kluczowych aspektów konfiguracji klienta:
- Orleans informacje o klastrowaniu
- Dostawca klastrowania
- Części aplikacji
Przykład konfiguracji 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();
Przeanalizujmy kroki użyte w tym przykładzie:
Orleans informacje o klastrowaniu
.Configure<ClusterOptions>(options =>
{
options.ClusterId = "orleans-docker";
options.ServiceId = "AspNetSampleApp";
})
W tym miejscu ustawimy dwie elementy:
- Element ClusterOptions.ClusterId do
"my-first-cluster": to unikatowy identyfikator klastra Orleans. Wszyscy klienci i silosy korzystające z tego identyfikatora mogą bezpośrednio komunikować się ze sobą. Niektórzy mogą na przykład użyć innegoClusterIdrozwiązania dla każdego wdrożenia. -
ClusterOptions.ServiceId do
"AspNetSampleApp": Jest to unikatowy identyfikator aplikacji, używany przez niektórych dostawców (np. dostawców persistencji). Ten identyfikator powinien pozostać stabilny we wszystkich wdrożeniach.
Dostawca klastrowania
.UseAzureStorageClustering(
options => options.ConfigureTableServiceClient(connectionString);
.UseAzureStorageClustering(
options => options.ConnectionString = connectionString)
Klient odnajduje wszystkie dostępne bramy w klastrze przy użyciu tego dostawcy. Dostępnych jest kilka dostawców; w tym miejscu używamy dostawcy tabel platformy Azure.
Aby uzyskać więcej informacji, zobacz Konfiguracja serwera.
Części aplikacji
.ConfigureApplicationParts(
parts => parts.AddApplicationPart(
typeof(IValueGrain).Assembly))
.WithReferences())
Aby uzyskać więcej informacji, zobacz Konfiguracja serwera.