Správa verzí podrobného rozhraní
V tomto článku se dozvíte, jak používat správu verzí podrobného rozhraní. Správa verzí stavu agregace je mimo rozsah.
Přehled
V daném clusteru mohou sila podporovat různé verze typu agregace.
V tomto příkladu byl klient a Silo{1,2,3} zkompilovány s rozhraním grain verze A
1. Silo 4 bylo zkompilováno s A
verzí 2.
Omezení
- Bezstavová verze pracovního procesu
- Rozhraní streamování nejsou verze
Povolení správy verzí
Pokud atribut verze není explicitně přidán do rozhraní grain, pak zrnka mají výchozí verzi 0. Podrobné informace o verzích můžete provádět pomocí versionAttribute v rozhraní odstupňovaného intervalu:
[Version(X)]
public interface IVersionUpgradeTestGrain : IGrainWithIntegerKey
{
}
Kde X
je číslo verze rozhraní agregace, což je obvykle monotonicky rostoucí.
Kompatibilita a umístění odstupňované verze
Když do clusteru přijde volání z agregovaného intervalu s verzí:
- Pokud neexistuje žádná aktivace, vytvoří se kompatibilní aktivace.
- Pokud aktivace existuje:
- Pokud aktuální verze není kompatibilní, deaktivuje se a vytvoří se nová kompatibilní verze (viz strategie selektoru verzí).
- Pokud je aktuální kompatibilní (viz kompatibilní zrnka), bude hovor zpracován normálně.
Standardně:
- Všechna zrna verze mají být zpětně kompatibilní pouze (viz pokyny pro zpětnou kompatibilitu a kompatibilní zrnka). To znamená, že agregační interval v1 může volat agregační interval v2, ale v2 agregační interval nemůže volat v1.
- Pokud v clusteru existuje více verzí, nová aktivace se náhodně umístí na kompatibilní silo.
Toto výchozí chování můžete změnit pomocí GrainVersioningOptionspříkazu :
var silo = new HostBuilder()
.UseOrleans(c =>
{
c.Configure<GrainVersioningOptions>(options =>
{
options.DefaultCompatibilityStrategy = nameof(BackwardCompatible);
options.DefaultVersionSelectorStrategy = nameof(MinimumVersion);
});
});
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro