Návrh řešení ukládání do mezipaměti
Ukládání do mezipaměti je běžná technika, která má za cíl zlepšit výkon a škálovatelnost systému. Ukládání do mezipaměti dočasně kopíruje často přístupná data do rychlého úložiště umístěného v blízkosti aplikace. Když se rychlé úložiště dat nachází blíže aplikaci než původní úložiště dat, může ukládání do mezipaměti výrazně zlepšit dobu odezvy klientských aplikací tím, že data obsluhuje rychleji.
Ukládání do mezipaměti je nejúčinnější, když instance klienta opakovaně čte stejná data, zejména pokud platí následující podmínky pro původní úložiště dat:
- Původní úložiště dat zůstává relativně statické.
- Dochází v něm k velkému množství kolizí.
- Je daleko a latence sítě může vést k pomalému přístupu k úložišti.
Předpokládejme, že společnost Tailwind Traders přidává do ukázkové aplikace produktu novou funkci, která zvyšuje zákaznický provoz na prodejní web. Funkce události přidá na začátek mobilní aplikace banner, který oznamuje speciální nabídky a omezené slevy na produkty. Nové nabídky se publikují v hodině a zbývající dostupnost produktů pro každou nabídku se aktualizuje po zpracování každé objednávky. První zákazník, který odpoví na novou nabídku, obdrží dvojitou slevu! Zákazníkům se doporučuje, aby často kontrolovali své mobilní aplikace, kde najdete aktualizace nabídek a dostupnosti produktů. Pokud chcete tuto novou funkci implementovat, musíte navrhnout řešení ukládání do mezipaměti, které podporuje rychlé čtení a zápisy v paměti.
Co je potřeba vědět o Službě Azure Cache for Redis
Azure Cache for Redis poskytuje úložiště dat v paměti založené na softwaru Redis. Redis zlepšuje výkon a škálovatelnost aplikace, která využívá back-endová úložiště dat. Dokáže zpracovávat velké objemy požadavků aplikací tím, že uchovává často přístupná data v paměti serveru, která se dají zapsat a číst rychle. Redis přináší do moderních aplikací kritické řešení úložiště dat s nízkou latencí a vysokou propustností.
Pojďme se podívat na charakteristiky služby:
Azure Cache for Redis nabízí vývojářům dvě možnosti implementace:
- The Redis open source (OSS Redis)
- Komerční produkt z Redis Labs (Redis Enterprise) jako spravovaná služba
Azure Cache for Redis poskytuje zabezpečené a vyhrazené instance serveru Redis a úplnou kompatibilitu rozhraní Redis API.
Azure Cache for Redis můžete použít jako distribuovaná data nebo mezipaměť obsahu, úložiště relací nebo zprostředkovatele zpráv.
Nasaďte Azure Cache for Redis jako samostatnou službu nebo s jinými databázovými službami Azure, jako je Azure SQL nebo Azure Cosmos DB.
Jak funguje Azure Cache for Redis
Azure Cache for Redis je hostovaný v Azure a použitelná libovolnou aplikací v rámci Azure nebo mimo Azure. Jak je uvedeno na následujícím obrázku, může Azure Cache for Redis pomoct zlepšit výkon v aplikacích, které jsou v rozhraní s mnoha databázovými řešeními, včetně Azure SQL Database, Azure Cosmos DB a Azure Database for MySQL.
Co je potřeba vzít v úvahu při používání služby Azure Cache for Redis
Azure Cache for Redis zlepšuje výkon aplikací díky podpoře běžných vzorů architektury aplikací. Při prohlížení následujících vzorů zvažte vzory, které by mohly být vystaveny v architektuře aplikací tailwind Traders. Zamyslete se nad tím, jak může Azure Cache for Redis poskytovat požadavky na vzor.
Vzor | Scénář | Řešení |
---|---|---|
Mezipaměť dat | Databáze jsou často příliš velké, aby se načetly přímo do mezipaměti. | Model doplňování do mezipaměti se běžně používá k načtení dat do mezipaměti jenom podle potřeby. Když systém provede změny dat, může systém také aktualizovat mezipaměť, která se pak distribuuje ostatním klientům. Kromě toho může systém nastavit vypršení platnosti dat nebo pomocí zásady vyřazení aktivovat aktualizace dat do mezipaměti. |
Mezipaměť obsahu | Mnoho webových stránek se generuje ze šablon, které používají statický obsah, jako jsou záhlaví, zápatí nebo bannery. Tyto statické položky by se neměly často měnit.. | Použití mezipaměti v paměti poskytuje rychlý přístup ke statickému obsahu v porovnání s back-endovými úložišti dat. Tento model zkracuje dobu zpracování a zatížení serveru a umožňuje rychlejší odezvu webových serverů. Mezipaměť obsahu umožňuje snížit počet serverů potřebných ke zpracování zatížení. Azure Cache for Redis poskytuje poskytovatele výstupní mezipaměti Redis, který podporuje tento model s ASP.NET. |
Úložiště relací | Úložiště relací se běžně používá s nákupními košíky a dalšími daty historie uživatelů, která webová aplikace může přidružit k uživatelským souborům cookie. Ukládání příliš velkého množství souborů cookie může mít negativní vliv na výkon při růstu velikosti souboru cookie a jeho předání a ověření při každém požadavku. | Typické řešení používá soubor cookie jako klíč k dotazování dat v databázi. Rychlejší je použít mezipaměť v paměti, jako je Azure Cache for Redis, k přidružení informací k uživateli než při interakci s úplnou relační databází. |
Řízení front úloh a zpráv | Dokončení některých operací aplikace trvá dlouho, což může bránit spuštění jiných nesouvisejících úloh nebo zpráv. | Aplikace často přidávají úlohy do fronty, když provádění operací přidružených k požadavku nějakou dobu trvá. Delší spuštěné operace se zařadí do fronty, které se budou zpracovávat v sekvenci, často jiným serverem. Tato metoda odložení práce se nazývá řízení front úkolů. Azure Cache for Redis poskytuje distribuovanou frontu pro povolení tohoto vzoru ve vaší aplikaci. |
Distribuované transakce | Aplikace někdy vyžadují řadu příkazů pro back-endové úložiště dat, aby se spustily jako jedna atomická operace. Všechny příkazy musí být úspěšné nebo všechny příkazy musí být vráceny zpět do počátečního stavu.. | Azure Cache for Redis podporuje spouštění dávky příkazů jako jedné transakce. |
Návod
Další informace najdete v modulu Úvod do Azure Cache for Redis .