Configuration silo Orleans
Pour obtenir une vue d’ensemble rapide, nous affichons tous les paramètres de configuration pertinents (notamment les paramètres facultatifs) dans la syntaxe XML ci-dessous :
<?xml version="1.0" encoding="utf-8"?>
<OrleansConfiguration xmlns="urn:orleans">
<Globals>
<MultiClusterNetwork
ClusterId="clusterid"
DefaultMultiCluster="uswest,europewest,useast"
BackgroundGossipInterval="30s"
UseGlobalSingleInstanceByDefault="false"
GlobalSingleInstanceRetryInterval="30s"
GlobalSingleInstanceNumberRetries="3"
MaxMultiClusterGateways="10">
<GossipChannel Type="..." ConnectionString="..."/>
<GossipChannel Type="..." ConnectionString="..."/>
</MultiClusterNetwork>
<SystemStore ServiceId="some-guid" />
</Globals>
</OrleansConfiguration>
var silo = new HostBuilder()
.UseOrleans(builder =>
{
builder.Configure<ClusterInfo>(options =>
{
options.ClusterId = "us3";
options.ServiceId = "myawesomeservice";
})
.Configure<MultiClusterOptions>(options =>
{
options.HasMultiClusterNetwork = true;
options.DefaultMultiCluster = new[] { "us1", "eu1", "us2" };
options.BackgroundGossipInterval = TimeSpan.FromSeconds(30);
options.UseGlobalSingleInstanceByDefault = false;
options.GlobalSingleInstanceRetryInterval = TimeSpan.FromSeconds(30);
options.GlobalSingleInstanceNumberRetries = 3;
options.MaxMultiClusterGateways = 10;
options.GossipChannels.Add(
"AzureTable",
"DefaultEndpointsProtocol=https;AccountName=usa;AccountKey=...");
options.GossipChannels.Add(
"AzureTable",
"DefaultEndpointsProtocol=https;AccountName=europe;AccountKey=...")
});
});
Comme d’habitude, tous les paramètres de configuration peuvent également être lus et écrits par programmation, via les membres respectifs de la classe GlobalConfiguration.
GlobalConfiguration.ServiceId est un ID arbitraire permettant d’identifier ce service. Il doit être identique pour tous les clusters et tous les silos.
La section Orleans.Runtime.MultiClusterNetwork est facultative. Si elle n’est pas présente, la prise en charge multicluster est désactivée pour ce silo.
Les paramètres obligatoiresClusterId et GossipChannels sont expliqués dans la section relative à la communication multicluster.
Les paramètres facultatifs MaxMultiClusterGateways et BackgroundGossipInterval sont expliqués dans la section relative à la communication multicluster.
Le paramètre facultatif DefaultMultiCluster est expliqué dans la section relative à la configuration multicluster.
Les paramètres facultatifs UseGlobalSingleInstanceByDefault, GlobalSingleInstanceRetryInterval et GlobalSingleInstanceNumberRetries sont expliqués dans la section relative aux grains GSI (Global Single Instance).
Configuration client Orleans
Aucune configuration supplémentaire n’est nécessaire pour le client Orleans. Le même client ne peut pas se connecter aux silos de différents clusters (le silo refuse la connexion dans ce cas).
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour