Vysoká dostupnost (ukládání do mezipaměti technologie Windows Server AppFabric)
Je-li povolena vysoká dostupnost, jsou kopie jednotlivých objektů nebo oblastí mezipaměti spravovány na samostatném hostiteli mezipaměti. Cluster mezipamětí spravuje uchovávání těchto kopií a dodává je aplikaci, pokud primární kopie nejsou k dispozici. Aby mohly být aplikace s povoleným ukládáním do mezipaměti vysoce dostupné, nejsou povoleny žádné změny kódu. Následující obrázek znázorňuje, jak jsou kopie objektů a oblastí uloženy na samostatných hostitelích, když je povolena funkce vysoké dostupnosti.
Konfigurace vysoké dostupnosti
Vysoká dostupnost se konfiguruje na úrovni mezipaměti v nastavení konfigurace clusteru. Jako vlastnost mezipaměti ji můžete povolit při prvním vytvoření mezipaměti pomocí příkazu New-Cache
s parametrem Secondaries
nastaveným na hodnotu 1
. Tento příkaz dá rutinám prostředí Windows PowerShell pro správu mezipaměti pokyn, že chcete jednu kopii každého objektu nebo oblasti uložených v mezipaměti. Nastavíte-li parametr Secondaries
na hodnotu 0
, zakážete funkci vysoké dostupnosti. Ve výchozím nastavení je možnost vysoké dostupnosti při vytváření nové mezipaměti zakázána. Další informace o úpravách nastavení konfigurace mezipaměti naleznete v tématu Úprava nastavení konfigurace mezipaměti v prostředí Windows PowerShell (ukládání do mezipaměti technologie Windows Server AppFabric).
Funkce vysoké dostupnosti součástí pro ukládání do mezipaměti technologie Windows Server AppFabric vyžaduje, aby byla ve všech uzlech v clusteru mezipamětí spuštěna verze Enterprise Edition (nebo vyšší) operačního systému Windows Server 2008 nebo Windows Server 2008 R2. Zkontrolujte, zda je ve všech uzlech mezipaměti s vysokou dostupností spuštěn podporovaný operační systém. Další informace o podporovaných operačních systémech naleznete v části Požadavky na software v Příručce k instalaci technologie AppFabric (https://go.microsoft.com/fwlink/?LinkId=169172).
Úložiště sekundární kopie
Cluster mezipamětí si zvolí, kam budou uloženy sekundární kopie objektů a oblastí. Stejně jako technologie AppFabric distribuuje objekty uložené v mezipaměti na všechny hostitele mezipaměti v clusteru, distribuuje také sekundární kopie těchto objektů na všechny hostitele mezipaměti v clusteru.
Jak se zachovává konzistence
Bez ohledu na to, zda je povolena vysoká dostupnost, pracují aplikace využívající mezipaměť, jako kdyby by existovala pouze primární kopie objektu uloženého do mezipaměti. Všechna volání metod Add, Put a Remove jsou nejprve inicializována u primárního objektu bez ohledu na to, na kterém hostiteli mezipaměti se nachází. Po iniciaci volání hostitele mezipaměti, který uchovává primární objekt nebo oblast, se výsledná akce liší podle toho, zda je povolena vysoká dostupnost.
Pokud je vysoká dostupnost povolena, je do postupu přidáno upozornění hostitele spravujícího sekundární kopii, že dojde ke změně. Pak hostitel mezipaměti s primární kopií vyčká na potvrzení od druhého hostitele, až poté potvrdí zpět klientovi, že operace byla dokončena.
Podívejte se například na hostitele mezipaměti A a B v následujícím diagramu. Jakmile hostitel mezipaměti A obdrží požadavek, zahájí zpracování požadavku a upozorní hostitele mezipaměti B na změnu. Poté hostitel mezipaměti B odešle potvrzení zpět hostiteli mezipaměti A. Jakmile hostitel mezipaměti A obdrží potvrzení, dokončí změnu a odešle potvrzení zpět aplikaci využívající mezipaměť. Tento proces zajistí, aby byla sekundární kopie objektu nebo oblasti vždy ve stejném stavu jako primární kopie. Tento proces se označuje jako silná konzistence.
Informace o výkonu
Protože hostitel mezipaměti spravující sekundární kopii objektu nebo oblasti musí potvrdit všechny změny týkající se primární kopie, vzniká mírné omezení výkonu představované delší odezvou při zápisu u aplikace využívající mezipaměť. Toto snížení výkonu se nevztahuje na čtení položek již uložených v mezipaměti. Je třeba také vzít v úvahu dobu nutnou k opakovanému načtení objektů do mezipaměti, pokud dojde ke ztrátě hostitele mezipaměti spravujícího primární kopie těchto objektů.
Co se stane v případě selhání hostitele mezipaměti
Pokud hostitel mezipaměti selže (za předpokladu, že je k dispozici stále dostatečný počet hostitelů mezipaměti pro zachování běhu clusteru), pro aplikaci využívající mezipaměť se nic nezmění. Cluster mezipamětí přesměruje požadavky na objekt na hostitele mezipaměti, který spravuje sekundární kopii objektu. V rámci clusteru je poté zvýšena úroveň sekundárních kopií všech primárních objektů, takže se stanou novými primárními objekty. Pak budou sekundární kopie těchto nových primárních objektů distribuovány na jiné hostitele mezipaměti v clusteru. Sekundární objekty na hostiteli mezipaměti, který selhal, budou nahrazeny novými sekundárními objekty a distribuovány v celém clusteru. Tento proces platí také pro oblasti.
Aby funkce vysoké dostupnosti mohla zabránit selhání hostitele mezipaměti aplikace, je nutné, aby členy clusteru mezipamětí byli alespoň tři hostitelé mezipaměti. Je to způsobeno přísným požadavkem na konzistenci, který stanoví, že v mezipaměti s vysokou dostupností musejí existovat vždy dvě kopie objektu nebo oblasti. Aby mezipaměť s povolenou vysokou dostupností mohla udržovat dvě kopie objektu nebo oblasti, vyžaduje alespoň dva spuštěné hostitele mezipaměti.
Vytvořili jste například mezipaměť s vysokou dostupností s názvem HACache
v clusteru tvořeném třemi servery, jak znázorňuje následující tabulka. Předpokládejme, že systém SQL Server byl konfigurován na provádění role správy serveru (aby tento příklad nemusel brát v úvahu potenciální ztrátu hlavních hostitelů).
Čas | Hostitel mezipaměti 1 | Hostitel mezipaměti 2 | Hostitel mezipaměti 3 | HACache (pojmenovaná mezipaměť s vysokou dostupností) |
---|---|---|---|---|
T1 |
Spuštěno |
Spuštěno |
Spuštěno |
Dostupný |
T2 |
Spuštěno |
Spuštěno |
Zastaveno |
Dostupný |
T3 |
Spuštěno |
Zastaveno |
Zastaveno |
Není k dispozici |
V čase T1, kdy jsou k dispozici tři hostitelé mezipaměti, lze na jednom ze tří dostupných serverů uložit dvě kopie objektů nebo oblastí uložených v mezipaměti. V čase T2, kdy selže jeden ze serverů mezipaměti, je mezipaměť HACache
i nadále k dispozici, protože jsou k dispozici ještě dva hostitelé mezipaměti, na nichž mohou být uloženy dvě kopie objektů či oblastí uložených v mezipaměti. V čase T3, kdy selže druhý hostitel mezipaměti, přestává být mezipaměť HACache
k dispozici. Je to proto, neboť již neexistuje žádný dostupný hostitel mezipaměti pro uložení druhé kopie objektů nebo oblastí uložených v mezipaměti.
Další doporučení pro vysokou dostupnost
Chcete-li optimalizovat dostupnost dat uložených v mezipaměti, zvažte následující doporučení:
Využijte velký počet hostitelů mezipaměti.
Nasaďte distribuovaný systém mezipaměti uvnitř hranic brány firewall, kde budou všechny servery členy stejné domény, včetně klientů mezipaměti, hostitelů mezipaměti, serveru primárního zdroje dat a serveru hostujícího umístění úložiště konfigurace clusteru.
K uložení nastavení konfigurace clusteru mezipamětí použijte systém SQL Server nebo vlastního zprostředkovatele.
K výkonu role správy clusteru použijte systém SQL Server nebo vlastního zprostředkovatele. Další informace naleznete v tématu Správa hlavních hostitelů a clusteru (ukládání do mezipaměti technologie Windows Server AppFabric).
Je-li to možné, použijte Clustering s podporou převzetí služeb při selhání systému Microsoft Windows Server 2008 (https://go.microsoft.com/fwlink/?LinkId=130692) jako hostitele clusterového databázového prostředku pro umístění úložiště konfigurace clusteru mezipamětí.
Minimalizujte nákladné změny konfigurace, které vyžadují zastavení clusteru. Je-li to možné, znovu vytvořte pojmenované mezipaměti namísto ukončení celého clusteru při provádění změn konfigurace mezipaměti v nastavení konfigurace clusteru.
K ukončení služby mezipaměti před restartováním serveru vždy použijte příkaz
Stop-CacheHost
. Pokud roli správy clusteru vykonávají hlavní hostitelé, nespustí se rutinaStop-CacheHost
úspěšně, jestliže akce ukončení služby mezipaměti způsobí vypnutí celého clusteru mezipamětí (protože není spuštěna většina hlavních hostitelů).
Další odkazy
Koncepty
Obrázek fyzické architektury mezipaměti technologie Windows Server AppFabric
Obrázek logické architektury mezipaměti technologie Windows Server AppFabric
2011-12-05