Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Configurez un client pour la connexion à un cluster de silos et l’envoi de requêtes aux grains par programmation via une et plusieurs classes d’options IHostBuilder supplémentaires. Comme les options de silo, les classes d’options clientes suivent le modèle Options dans .NET.
Configurez un client pour la connexion à un cluster de silos et l’envoi de requêtes aux grains par programmation via une et plusieurs classes d’options ClientBuilder supplémentaires. Comme les options de silo, les classes d’options clientes suivent le modèle Options dans .NET.
Conseil / Astuce
Si vous souhaitez simplement démarrer un silo local et un client local à des fins de développement, consultez la configuration du développement local.
Ajoutez le package NuGet Microsoft.Orleans.Clustering.AzureStorage à votre projet client.
Il existe plusieurs aspects clés de la configuration du client :
- Orleans Information de regroupement
- Fournisseur de clustering
- Composants d’application
Exemple de configuration du client :
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();
Nous allons décomposer les étapes utilisées dans cet exemple :
Orleans Information de regroupement
.Configure<ClusterOptions>(options =>
{
options.ClusterId = "orleans-docker";
options.ServiceId = "AspNetSampleApp";
})
Ici, nous avons défini deux choses :
- À partir de ClusterOptions.ClusterId jusqu'à
"my-first-cluster"
: il s'agit d'un ID unique pour le cluster Orleans. Tous les clients et silos utilisant cet ID peuvent communiquer directement entre eux. Certains peuvent choisir d’utiliser une valeur différenteClusterId
pour chaque déploiement, par exemple. - De ClusterOptions.ServiceId à
"AspNetSampleApp"
: c'est un ID unique pour votre application, utilisé par certains fournisseurs (par exemple, les fournisseurs de persistance). Cet ID doit rester stable dans les déploiements.
Fournisseur de clustering
.UseAzureStorageClustering(
options => options.ConfigureTableServiceClient(connectionString);
.UseAzureStorageClustering(
options => options.ConnectionString = connectionString)
Le client découvre toutes les passerelles disponibles dans le cluster à l’aide de ce fournisseur. Plusieurs fournisseurs sont disponibles ; ici, nous utilisons le fournisseur de tables Azure.
Pour plus d’informations, consultez Configuration du serveur.
Composants d’application
.ConfigureApplicationParts(
parts => parts.AddApplicationPart(
typeof(IValueGrain).Assembly))
.WithReferences())
Pour plus d’informations, consultez Configuration du serveur.