Windows Azure Caching - Windows Azure Caching
Windows Azure Caching byla v paměti, distribuované ukládání do mezipaměti funkce určená pro Windows Azure aplikace.[1] Ukládání do mezipaměti bylo k dispozici jako součást sady Windows Azure SDK. Služby Azure Managed Cache a In-Role Cache byly vyřazeny a společnost Microsoft doporučila migraci na Mezipaměť Azure Redis.[2]
Architektura
Windows Azure Caching umožňuje cloudové službě hostovat ukládání do mezipaměti v roli Windows Azure.[1] Mezipaměť je distribuována ve všech spuštěných instancích dané role. Proto je množství dostupné paměti v mezipaměti určeno počtem spuštěných instancí role, která je hostitelem mezipaměti, a množstvím fyzické paměti vyhrazené pro mezipaměť v každé instanci.[3]
Pro ukládání do mezipaměti existují dvě topologie nasazení:
Vyhrazená topologie
Ve vyhrazené topologii definujete pracovní roli, která je věnována ukládání do mezipaměti. To znamená, že veškerá dostupná paměť role pracovníka se používá pro ukládání do mezipaměti a provozní režii.
Následující diagram ukazuje ukládání do mezipaměti ve vyhrazené topologii. Zobrazená cloudová služba má tři role: Web1, Worker1 a Cache1. Každá role má dvě spuštěné instance. V tomto příkladu je mezipaměť distribuována ve všech instancích vyhrazené role Cache1.
Vyhrazená topologie má tu výhodu, že škálování úrovně ukládání do mezipaměti provádí nezávisle na jakékoli jiné roli v cloudové službě.[6] Pro nejlepší výkon ukládání do mezipaměti se doporučuje vyhrazená topologie, protože instance rolí nesdílejí své prostředky s jiným kódem aplikace a službami.[4]
Společně umístěná topologie
V společně umístěné topologii používáte procento ukládání dostupné paměti na existujících webových nebo pracovních rolích pro ukládání do mezipaměti.[5]
Následující diagram ukazuje ukládání do mezipaměti v společně umístěné topologii. Cloudová služba má dvě role: Web1 a Worker1. Každá role má dvě spuštěné instance. V tomto příkladu je mezipaměť distribuována ve všech instancích role Web1. Protože tato role také hostí webové rozhraní pro cloudovou službu, je mezipaměť nakonfigurována tak, aby používala pouze procento fyzické paměti v každé instanci role Web1.
Společně umístěná mezipaměť je nákladově efektivní způsob, jak využít existující paměť na roli v cloudové službě.[5]
Příklady
Následující části ukazují příklady konfigurace a ukládání kódu Windows Azure do mezipaměti.
Příklad konfigurace
v Vizuální studio, Ukládání do mezipaměti se konfiguruje na kartě Ukládání do mezipaměti ve vlastnostech role, která je hostitelem ukládání do mezipaměti.[7] Tím se provedou základní změny v souboru ServiceConfiguration.cscfg.[8] Tato nastavení určují použitou topologii (vyhrazenou nebo umístěnou společně) a počet pojmenovaných mezipamětí[9] a jejich nastavení.
Aby bylo možné používat mezipaměť, je nutné nakonfigurovat další role.[10] Jedním ze způsobů, jak toho dosáhnout, je a NuGet balík. To zahrnuje úpravu souboru web.config tak, aby obsahoval správně nakonfigurovaný dataCacheClients[11] sekce. Následující příklad sekce dataCacheClients určuje, že role, která je hostitelem mezipaměti, má název „CacheWorker1“.
<dataCacheClients> jméno ="výchozí"> isEnabled ="skutečný" identifikátor =„CacheWorkerRole1“ /> </dataCacheClient></dataCacheClients>
Příklady kódu
Ukázky kódu v této části jsou uvedeny v C#.
Při hostování mezipaměti na role, DataCache konstruktor třídy lze použít k určení pojmenované mezipaměti i dataCacheClient sekce pro nastavení klienta mezipaměti. Následující kód ukazuje, jak vytvořit pojmenovanou mezipaměť, NamedCache2pomocí nastavení z a dataCacheClient pojmenovaná sekce customClient.
DataCache Mezipaměti = Nový DataCache(„NamedCache2“, "customClient");
Následující metoda ukazuje, jak používat Mezipaměti objekt k načtení dat z mezipaměti. V tomto příkladu je identifikátor uživatele (uživatelské ID) je klíč pro přidružený objekt informací o uživateli. Kód se nejprve pokusí získat tyto informace o uživateli z mezipaměti pomocí uživatelské ID klíč. Pokud se to nepodaří, načte kód informace pomocí databázového dotazu a poté uloží vrácená uživatelská data do mezipaměti. Při příštím spuštění stejného kódu budou informace o uživateli vráceny z mezipaměti, nikoli z databáze. To předpokládá, že data v mezipaměti nebyla vypršela nebo vystěhována.
datový typ GetUserData(tětiva uživatelské ID) { datový typ data = nula; // Pokus o načtení uživatelských dat z mezipaměti: objekt dataObject = Mezipaměti.Dostat(uživatelské ID); -li (dataObject != nula) data = (datový typ)dataObject; jiný { // Pokud v mezipaměti neexistuje, načtěte ji z databáze: data = GetUserDataFromDatabase(„SELECT * FROM users WHERE userid = @userid“, uživatelské ID); // Vložte vrácená data do mezipaměti pro budoucí požadavky: Mezipaměti.Přidat(uživatelské ID, data); } vrátit se data;}
Následující metoda ukazuje, jak aktualizovat data, která jsou již v mezipaměti.
prázdnota UpdateUserData(tětiva uživatelské ID, datový typ data) { // Aktualizace informací o uživateli v databázi: výsledek = UpdateUserDataInDatabase(uživatelské ID, data); -li (výsledek) { // Pokud bude úspěšně aktualizován, aktualizujte mezipaměť: Mezipaměti.Dát(uživatelské ID, data); }}
Následující volání odebere položku z mezipaměti.
Mezipaměti.Odstranit(uživatelské ID);
Windows Azure Shared Caching poskytuje ukládání do mezipaměti jako spravovanou službu.[12] Na rozdíl od společně umístěných nebo vyhrazených topologií není mezipaměť hostována na rolích Windows Azure v nasazení jedné cloudové služby. Místo toho je mezipaměť poskytována jako služba pro více klientů s kvótami využití.[13] Služba je rozdělena do úrovní, které se pohybují od 128 MB do 4 GB.[14] Kromě úložné kapacity poskytuje každá úroveň zvýšení schopností procesoru a sítě.[14] Shared Caching poskytuje způsob, jak více cloudových služeb přistupovat ke stejné mezipaměti.
Dějiny
Windows Azure Caching má své kořeny v místní technologii, AppFabric. Původně byl vydán jako jedna z několika služeb Windows Azure AppFabric, ale označení AppFabric ve Windows Azure bylo od té doby opuštěno. Mnoho názvů sestavení, oborů názvů a rozhraní API je identické mezi Windows Azure Caching a AppFabric Caching.[15] První vydání mezipaměti pro Windows Azure v dubnu 2011 poskytlo ukládání do mezipaměti jako spravovanou službu ve Windows Azure.[16] Tato nabídka se nyní nazývá Shared Caching.
V říjnu 2012 byla přidána podpora pro hostování mezipaměti na rolích v rámci nasazení cloudové služby.[17] Toto se nyní nazývá Windows Azure Caching.
Související technologie ukládání do mezipaměti
Windows Azure Caching souvisí s jinými technologiemi ukládání do mezipaměti společnosti Microsoft. Tyto technologie sdílejí podobné funkce, jako je název sestavení, jmenný prostor a typy.[15] Existují však určité rozdíly. Níže uvedená tabulka popisuje tyto technologie.
Technologie ukládání do mezipaměti | cílová | Instalováno uživatelem | Popis |
---|---|---|---|
Ukládání do mezipaměti AppFabric | V prostorách | AppFabric | Distribuovaná místní mezipaměť, která používá servery, které uživatel zřizuje a spravuje. |
Windows Azure Caching | Mrak | Windows Azure SDK | Ukládání do mezipaměti je distribuováno napříč instancemi jedné role v nasazení cloudové služby Windows Azure. |
Sdílené mezipaměti Windows Azure | Mrak | Windows Azure SDK | Ukládání do mezipaměti je poskytováno jako služba s více klienty pro použití cloudovými službami Windows Azure. |
Reference
- ^ A b „Ukládání do mezipaměti ve Windows Azure“. Knihovna MSDN. Microsoft. Citováno 12. února 2013.
- ^ Rastogi, Pranav (3. prosince 2015). „Služby Azure Managed Cache a In-Role Cache budou vyřazeny 30. 11. 2016“. Blog Microsoft Azure. Citováno 22. března 2017.
- ^ „Úvahy o plánování kapacity pro Windows Azure Caching“. Knihovna MSDN. Microsoft. Citováno 13. února 2013.
- ^ A b „Windows Azure Caching na vyhrazených rolích“. Knihovna MSDN. Microsoft. Citováno 13. února 2013.
- ^ A b C „Windows Azure Caching na existujících rolích“. Knihovna MSDN. Microsoft. Citováno 13. února 2013.
- ^ „O mezipaměti Windows Azure, clusteru mezipaměti“. Knihovna MSDN. Microsoft. Citováno 13. února 2013.
- ^ „Jak používat Windows Azure Caching“. Web Windows Azure. Microsoft. Citováno 13. února 2013.
- ^ „Nastavení konfigurace mezipaměti role Windows Azure (ServiceConfiguration.cscfg)“. Knihovna MSDN. Microsoft. Citováno 13. února 2013.
- ^ „O mezipaměti Windows Azure, pojmenované mezipaměti“. Knihovna MSDN. Microsoft. Citováno 13. února 2013.
- ^ „Začínáme s vývojem pro ukládání do mezipaměti Windows Azure, konfigurace klientů“. Knihovna MSDN. Microsoft. Citováno 13. února 2013.
- ^ „Nastavení konfigurace mezipaměti klienta Windows Azure (Web.config), dataCacheClients“. Knihovna MSDN. Microsoft. Citováno 13. února 2013.
- ^ A b „Rozdíly mezi místním ukládáním do mezipaměti a v cloudu“. Knihovna MSDN. Microsoft. Citováno 13. února 2013.
- ^ „Představujeme službu Windows Azure Caching Service“. MSDN Magazine. Microsoft. Citováno 13. února 2013.
- ^ „Poznámky k verzi Windows Azure Caching (říjen 2012)“. Knihovna MSDN. Microsoft. Citováno 13. února 2013.