Sdílet prostřednictvím


Rekonfigurace v Azure Service Fabric

Konfigurace se definuje jako repliky a jejich role pro oddíl stavové služby.

Rekonfigurace je proces přesunu jedné konfigurace do jiné. 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 dostupnost během jakýchkoli změn sady 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í server selže, zahájí se rekonfigurace za účelem zvýšení úrovně 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é upgradovat uzel.

Typy rekonfigurace

Rekonfigurace lze rozdělit do dvou typů:

  • Rekonfigurace, kde se mění primární:

    • 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ého primárního serveru.
    • SwapPrimary: Prohození jsou rekonfigurace, kdy Service Fabric potřebuje přesunout spuštěný primární uzel z jednoho uzlu do druhého, obvykle v reakci na vyrovnávání zatížení nebo upgrade.
  • Rekonfigurace v případě, že se primární server nemění.

Fáze rekonfigurace

Rekonfigurace probíhá v několika fázích:

  • Fáze 0: Tato fáze probíhá v rekonfiguracích swap-primary, kdy aktuální primární server přenese svůj stav na novou primární a přejde na aktivní sekundární.

  • Fáze 1: K této fázi dochází během rekonfigurací, kdy se mění primární. Během této fáze Service Fabric identifikuje mezi aktuálními replikami správný primární server. Tato fáze není potřeba při rekonfiguraci prohození primárního serveru, protože nová primární konfigurace už byla zvolena.

  • Fáze 2: Během této fáze Service Fabric zajistí, 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ří:

  • Repliky mimo provoz: Některé fáze rekonfigurace vyžadují, aby byla většina replik v konfiguraci aktivní.
  • 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žby 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 o stavu ze systémových komponent, jako jsou System.FM, System.RA a System.RAP, můžete diagnostikovat, kde je rekonfigurace zablokovaná. Tyto sestavy stavu jsou popsány na stránce sestav stavu systému .

Další kroky

Další informace o konceptech Service Fabric najdete v následujících článcích: