Události
Vytváření inteligentních aplikací
17. 3. 23 - 21. 3. 23
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatTento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Konfigurace s více clustery určuje, které clustery jsou aktuálně součástí více clusterů. Nemění se automaticky, ale řídí se operátorem. Proto se liší od mechanismu členství používaného v clusteru, který automaticky určuje sadu sila, která jsou součástí clusteru.
Pro clustery ve službě používáme následující terminologii:
Aktivní/neaktivní je nezávislá na spojení nebo nepřipojování: všechny čtyři kombinace jsou možné.
Všechny clustery pro konkrétní službu jsou propojeny sítí gossip. Síť gossip šíří informace o konfiguraci a stavu.
Operátor vydává změny konfigurace vložením do sítě s více clustery. Konfigurace se dají vložit do libovolného clusteru a rozložit odsud do všech aktivních clusterů. Každá nová konfigurace se skládá ze seznamu ID clusteru, které tvoří více clusterů. Obsahuje také časové razítko UTC, které se používá ke sledování šíření prostřednictvím sítě gossip.
Konfigurace s více clustery má zpočátku hodnotu null, což znamená, že seznam s více clustery je prázdný (neobsahuje žádné clustery). Operátor tedy musí nejprve vložit konfiguraci s více clustery. Po vkládání se tato konfigurace zachová ve všech připojených silach (při běhu) a ve všech zadaných kanálech gossip (pokud jsou tyto kanály trvalé).
Představujeme určitá omezení injektáže nových konfigurací, které musí operátor dodržovat:
Tato omezení zajišťují, aby protokoly, jako je protokol s jednou instancí, správně zachovaly vzájemné vyloučení aktivací i při změnách konfigurace.
Konfigurace s více clustery je možné vloženého do libovolného uzlu v jakémkoli clusteru pomocí agregačního intervalu Orleans pro správu. Pokud například chcete vložit konfiguraci s více clustery, která se skládá ze tří clusterů { us1, eu1, us2 }, můžeme předat řetězec výčtu pro agregační interval správy:
var clusters = "us1,eu1,us2".Split(',');
var mgtGrain = client.GetGrain<IManagementGrain>(0);
mgtGrain.InjectMultiClusterConfiguration(clusters, "my comment here"));
Prvním argumentem InjectMultiClusterConfiguration(IEnumerable<String>, String, Boolean) je kolekce ID clusteru, která definuje novou konfiguraci s více clustery. Druhým argumentem je (volitelný) řetězec komentáře, který lze použít k označení konfigurací s libovolnými informacemi, například kdo je vložil a proč.
Existuje volitelný třetí argument, logická hodnota s názvem checkForLaggingSilosFirst
, která má výchozí hodnotu true. To znamená, že systém provádí kontrolu co nejlépe, aby zjistil, jestli existují nějaká sila kdekoli, která ještě nedokončila aktuální konfiguraci, a odmítne změnu, pokud najde takový silo. To pomáhá odhalit porušení omezení, že najednou by měla být čekající pouze jedna změna konfigurace (i když ji za všech okolností nemůže zaručit).
V situacích, kdy je konfigurace s více clustery známa předem a nasazení je vždy čerstvé (pro testování), můžeme chtít zadat výchozí konfiguraci. Globální konfigurace podporuje volitelný atribut DefaultMultiCluster , který přebírá seznam ID clusteru oddělený čárkami:
var silo = new HostBuilder()
.UseOrleans(builder =>
{
builder.Configure<MultiClusterOptions>(options =>
{
options.DefaultMultiCluster = new[] { "us1", "eu1", "us2" };
})
})
.Build();
Po spuštění silo s tímto nastavením zkontroluje, jestli má aktuální konfigurace více clusterů hodnotu null, a pokud ano, vloží danou konfiguraci s aktuálním časovým razítkem UTC.
Upozornění
Trvalé kanály gossip pro více clusterů (založené na Tabulce Azure) uchovávají poslední vloženou konfiguraci, pokud nejsou explicitně odstraněny. V takovém případě zadání nemá žádný vliv při opětovném nasazení clusteru, DefaultMultiCluster
protože konfigurace uložená v kanálech gossip nemá hodnotu null.>
Operátor může také vložit konfiguraci přímo do kanálu gossip. Změny v kanálu se vyberou a automaticky rozšíří pravidelným gossipem na pozadí, i když možná velmi pomalu (použití intervalu správy je mnohem rychlejší). Hrubý odhad doby šíření je 30 sekund (nebo jakýkoli interval gossip je zadán v globální konfiguraci) krát binární logaritmus celkového počtu sil ve všech clusterech. Ale vzhledem k tomu, že dvojice gossip jsou vybrány náhodně, mohou být oba mnohem rychlejší nebo mnohem pomalejší.
Pokud používáte kanál Gossip založený na tabulkách Azure, můžou operátory vložit novou konfiguraci jednoduše úpravou záznamu konfigurace v tabulce OrleansGossipTable
Azure pomocí některého nástroje pro úpravu dat v tabulkách Azure. Konfigurační záznam má následující formát:
Name | Typ | Hodnota |
---|---|---|
PartitionKey | String | ID služby |
RowKey | String | "CONFIG" |
Clustery | String | Čárkami oddělený seznam ID clusteru, např. "us1,eu1,us2" |
Komentář | String | volitelný komentář |
GossipTimestamp | DateTime | Časové razítko UTC pro konfiguraci |
Poznámka
Při úpravách tohoto záznamu v úložišti GossipTimestamp
je nutné nastavit také novější hodnotu, než má v současné době (jinak se změna ignoruje). Nejvhodnějším a doporučeným způsobem je odstranit GossipTimestamp
pole – implementace kanálu gossip ji pak automaticky nahradí správným aktuálním časovým razítkem (používá časové razítko Azure Table Timestamp).
Přidávání nebo odebírání clusteru z více clusterů je často potřeba koordinovat v určitém větším kontextu. Při přidávání nebo odebírání clusterů z více clusterů doporučujeme vždy postupovat podle níže popsaných postupů.
Jakmile se cluster tímto způsobem odebere, můžete ho znovu přidat pomocí postupu přidání nového clusteru.
Může existovat krátká dočasná období, kdy je cluster aktivní i nepřipojil:
V těchto přechodných situacích je možné:
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
Události
Vytváření inteligentních aplikací
17. 3. 23 - 21. 3. 23
Připojte se k řadě meetupů a vytvořte škálovatelná řešení AI založená na skutečných případech použití s kolegy vývojáři a odborníky.
ZaregistrovatŠkolení
Postup výuky
Spouštění aplikací vysokovýkonných výpočetních prostředí (HPC) v Azure - Training
Azure HPC je účelově sestavená cloudová funkce pro úlohy HPC a AI, která využívá špičkové procesory a interfiniBand třídy HPC, aby poskytovala nejlepší výkon, škálovatelnost a hodnotu aplikací. Azure HPC umožňuje uživatelům odhalovat inovace, produktivitu a obchodní flexibilitu prostřednictvím vysoce dostupné řady technologií HPC a AI, které se dají dynamicky přidělovat při změně obchodních a technických potřeb. Tento studijní program je řada modulů, které vám pomůžou začít pracovat s prostředím Azure HPC –