Principy nastavení ImageStoreConnectionString

V některé z naší dokumentace stručně zmíníme existenci parametru ImageStoreConnectionString, aniž bychom popisovali, co to skutečně znamená. A po projít si článek, jako je Nasazení a odebrání aplikací pomocí PowerShellu, vypadá to, že stačí zkopírovat a vložit hodnotu, jak je znázorněno v manifestu clusteru cílového clusteru. Nastavení tedy musí být konfigurovatelné pro jednotlivé clustery, ale když vytváříte cluster prostřednictvím Azure Portal, není možnost toto nastavení konfigurovat a vždy se jedná o prostředek infrastruktury:ImageStore. Jaký je tedy účel tohoto nastavení?

Manifest clusteru

Service Fabric začala jako platforma pro interní využití Microsoftu mnoha různorodými týmy, takže některé aspekty jsou vysoce přizpůsobitelné – jedním z takových aspektů je "Image Store". Úložiště imagí je v podstatě připojitelné úložiště pro ukládání balíčků aplikací. Když je vaše aplikace nasazená do uzlu v clusteru, stáhne tento uzel obsah balíčku aplikace z úložiště imagí. ImageStoreConnectionString je nastavení, které obsahuje všechny potřebné informace pro klienty i uzly k vyhledání správného úložiště imagí pro daný cluster.

V současné době existují tři možné druhy poskytovatelů úložiště imagí a jejich odpovídající připojovací řetězce jsou následující:

  1. Služba úložiště obrázků: "fabric:ImageStore"

  2. Systém souborů: "file:[cesta systému souborů]"

  3. Azure Storage: "xstore:DefaultEndpointsProtocol=https; AccountName=[...]; AccountKey=[...]; Container=[...]"

Typ poskytovatele používaný v produkčním prostředí je Služba úložiště image, což je stavová trvalá systémová služba, kterou můžete vidět z Service Fabric Explorer.

Služba úložiště obrázků

Hostování úložiště imagí v systémové službě v rámci samotného clusteru eliminuje externí závislosti pro úložiště balíčků a poskytuje nám větší kontrolu nad umístěním úložiště. Budoucí vylepšení úložiště obrázků budou pravděpodobně jako první cílit na poskytovatele úložiště obrázků, pokud ne výhradně. Připojovací řetězec pro poskytovatele služby Image Store neobsahuje žádné jedinečné informace, protože klient je už připojený k cílovému clusteru. Klient potřebuje jenom vědět, že by se měly používat protokoly, které cílí na systémovou službu.

Zprostředkovatel systému souborů se během vývoje používá místo služby úložiště bitových kopií pro místní clustery s jedním rámečkem, aby se spouštění clusteru trochu zrychlila. Rozdíl je obvykle malý, ale je to užitečná optimalizace pro většinu lidí během vývoje. Místní cluster s jedním rámečkem je možné nasadit i s ostatními typy poskytovatelů úložiště, ale obvykle k tomu není žádný důvod, protože pracovní postup vývoje/testování zůstává stejný bez ohledu na poskytovatele. Poskytovatel služby Azure Storage existuje pouze pro starší verzi podpory starých clusterů nasazených před zavedením poskytovatele služby Úložiště imagí.

Kromě toho by se jako metoda sdílení úložiště imagí mezi několika clustery neměl používat zprostředkovatel systému souborů ani zprostředkovatel služby Azure Storage. To povede k poškození konfiguračních dat clusteru, protože každý cluster může zapisovat konfliktní data do úložiště imagí. Pokud chcete sdílet zřízené balíčky aplikací mezi několika clustery, použijte místo toho soubory sfpkg , které se dají nahrát do libovolného externího úložiště s identifikátorem URI pro stažení.

Takže zatímco ImageStoreConnectionString je konfigurovatelný, stačí použít výchozí nastavení. Při publikování do Azure prostřednictvím sady Visual Studio se parametr nastaví automaticky. Pro programové nasazení do clusterů hostovaných v Azure je připojovací řetězec vždy fabric:ImageStore. I když máte pochybnosti, jeho hodnotu je vždy možné ověřit načtením manifestu clusteru pomocí PowerShellu, rozhraní .NET nebo REST. Místní testovací i produkční clustery by měly být vždy nakonfigurované tak, aby používaly také poskytovatele služby Image Store Service.

Další kroky

Nasazení a odebrání aplikací pomocí PowerShellu