Změna konfigurace v Azure Service Fabric
Konfigurace se definuje jako repliky a jejich role pro oddíl stavové služby.
Rekonfigurace je proces přesunutí jedné konfigurace do jiné konfigurace. Provede změnu sady replik pro oddíl stavové služby. Stará konfigurace se nazývá předchozí konfigurace (PC) a nová konfigurace se nazývá aktuální konfigurace (CC). Protokol rekonfigurace v Azure Service Fabric zachovává konzistenci a udržuje dostupnost během jakýchkoli změn v sadě replik.
Správce převzetí služeb při selhání inicializuje rekonfigurace v reakci na různé události v systému. Pokud například primární selže, zahájí se rekonfigurace, která zvýší úroveň aktivní sekundární na primární. Dalším příkladem je reakce na upgrady aplikací, když může být nutné přesunout primární uzel do jiného uzlu, aby bylo možné uzel upgradovat.
Rekonfigurace typů
Rekonfigurace je možné klasifikovat do dvou typů:
Rekonfigurace, kde se primární mění:
- Převzetí služeb při selhání: Převzetí služeb při selhání jsou rekonfigurace v reakci na selhání spuštěné primární služby.
- SwapPrimary: Prohození jsou rekonfigurace, kdy Service Fabric potřebuje přesunout spuštěný primární server z jednoho uzlu do druhého, obvykle v reakci na vyrovnávání zatížení nebo upgrade.
Rekonfiguruje, kde se primární server nemění.
Fáze rekonfigurace
Rekonfigurace pokračuje v několika fázích:
Fáze0: K této fázi dochází v rekonfiguraci primárního prohození, kde aktuální primární přenese svůj stav na nový primární server a přejde na aktivní sekundární.
Fáze 1: K této fázi dochází během rekonfigurací, kdy se primární mění. Během této fáze Service Fabric identifikuje správnou primární instanci mezi aktuálními replikami. Tato fáze není nutná během rekonfigurací prohození primární, protože nový primární server již byl zvolen.
Fáze 2: Během této fáze Service Fabric zajišťuje, aby všechna data byla k dispozici ve většině replik aktuální konfigurace.
Existuje několik dalších fází, které jsou určené pouze pro interní použití.
Zablokované rekonfigurace
Rekonfigurace se můžou zaseknout z různých důvodů. Mezi běžné důvody patří:
- Down replicas: Některé fáze rekonfigurace vyžadují, aby většina replik v konfiguraci byla v provozu.
- Problémy se sítí nebo komunikací: Rekonfigurace vyžadují síťové připojení mezi různými uzly.
- Selhání rozhraní API: Protokol rekonfigurace vyžaduje, aby implementace služeb dokončily určitá rozhraní API. Například nedodržování tokenu zrušení ve spolehlivé službě způsobí zablokování rekonfigurací SwapPrimary.
Pomocí sestav stavu ze systémových komponent, jako jsou System.FM, System.RA a System.RAP, můžete diagnostikovat, kde se zablokovala rekonfigurace. Stránka sestavy stavu systému popisuje tyto sestavy o stavu.
Další kroky
Další informace o konceptech Service Fabric najdete v následujících článcích: