Minimální úložiště – Změna kanálu pro replikaci dat

Front Door
App Service
Functions
Cosmos DB
Table Storage

Idea řešení

Pokud se chcete podívat, jak tento článek rozšíříme o další informace, jako jsou potenciální případy použití, alternativní služby, aspekty implementace nebo pokyny k cenám, dejte nám vědět pomocí GitHub Feedback!

Tato architektura poskytuje řešení s vysokou dostupností pro webovou aplikaci, která používá obrovský objem dat, který musí být k dispozici po určitou dobu. ukládá data v Azure Cosmos DB a používá Azure Cosmos DB změnového kanálu k replikaci dat do sekundárního úložiště. po uplynutí zadaného časového období aplikace function app odstraní z Azure Cosmos DB.

Potenciální případy použití

Tato architektura může být vhodná pro libovolnou aplikaci, která používá obrovský objem dat, který musí být vždycky dostupný. Mezi příklady patří aplikace:

  • Sledujte návyky útraty zákazníků a chování při nákupu.
  • Předpověď počasí.
  • Nabídněte inteligentní provoz nebo implementujte systémy inteligentního provozu nebo využijte inteligentní technologie pro monitorování provozu.
  • Analyzujte data z výroby Internet věcí (IoT).
  • Zobrazit data inteligentního měřiče nebo pomocí inteligentní technologie monitorovat data měřičů.

Architektura

Architektura odolného systému, který používá dva typy úložiště ke snížení nákladů.

Stáhněte si soubor aplikace Visio s touto architekturou.

  1. klient se ověřuje pomocí Azure Active Directory (Azure AD) a uděluje přístup k webovým aplikacím hostovaným v Azure App Service.
  2. Přední dvířka Azure, brána firewall a vrstva 7 pro vyrovnávání zatížení přepíná uživatelský provoz do pohotovostní oblasti v případě regionu výpadku.
  3. Azure App Service hostuje websites a RESTful webová rozhraní API. Klienti prohlížeče spouštějí aplikace AJAX, které používají rozhraní API.
  4. Webová rozhraní API deleguje aplikace funkcí pro zpracování úloh na pozadí. úkoly jsou zařazené do fronty ve frontě Queue Storage Azure.
  5. Aplikace funkcí hostované Azure Functions provádějí úlohy na pozadí aktivované zprávami ve frontě.
  6. Mezipaměť Azure pro Redis ukládá data databáze pro aplikace Function App. Tím se přesměruje databázová aktivita a urychlí se aplikace Function App a Web Apps.
  7. Azure Cosmos DB obsahuje nedávno generovaná data.
  8. Azure Cosmos DB vydá informační kanál změny, který se dá použít k replikaci změn.
  9. aplikace function app přečte kanál změn a replikuje změny do Table Storage tabulek. jiná aplikace function app pravidelně odebírá data s vypršenou platností z Azure Cosmos DB.
  10. Table Storage poskytuje úložiště s nízkými náklady.

Komponenty

  • Azure Active Directory (Azure AD) je víceklientské služba pro správu identit a přístupu, která se může synchronizovat s místním adresářem.
  • Azure DNS je hostitelská služba s vysokou dostupností pro domény DNS, která poskytuje aplikacím rychlé dotazy DNS a rychlé aktualizace záznamů DNS. Správa Azure DNS je podobná správě dalších služeb Azure a používá stejné přihlašovací údaje, rozhraní API, nástroje a fakturaci.
  • přední dvířka Azure jsou zabezpečená síť pro doručování obsahu (CDN) a nástroj pro vyrovnávání zatížení s rychlým převzetím služeb Funguje na okraji blízko uživatelům, urychluje doručování obsahu a zároveň chrání aplikace, rozhraní API a weby před internetovými hrozbami.
  • Azure App Service je plně spravovaná služba pro sestavování, nasazování a škálování webových aplikací. Aplikace můžete vytvářet pomocí .NET, .NET Core, Node.js, Java, Pythonu nebo PHP. aplikace můžou běžet v kontejnerech nebo na Windows nebo Linux. V rámci migrace sálového počítače se můžou klientské obrazovky nebo webové rozhraní kódovat jako rozhraní REST API založená na protokolu HTTP. Můžou být oddělené a můžou být bezstavové pro orchestraci systému založeného na mikroslužbách. Další informace o webových rozhraních API najdete v tématu design RESTful webového rozhraní API.
  • Azure Functions poskytuje prostředí pro spouštění malých částí kódu nazývaných funkce, aniž by bylo nutné navázat infrastrukturu aplikace. Můžete ji použít ke zpracování hromadných dat, integraci systémů, práci s IoT a vytváření jednoduchých rozhraní API a mikroslužeb. Pomocí mikroslužeb můžete vytvářet servery, které se připojují ke službám Azure a jsou vždycky aktuální.
  • Azure Storage je sada rozsáhlě škálovatelných a zabezpečených cloudových služeb pro data, aplikace a úlohy. zahrnuje azure Files, azure Table Storagea azure Queue Storage. Soubory Azure jsou často účinným nástrojem pro migraci úloh sálového počítače.
  • Azure Queue Storage poskytuje jednoduché a nákladově efektivní a odolné fronty zpráv pro velké úlohy.
  • Azure Table Storage je úložiště NoSQL klíč-hodnota pro rychlý vývoj, který využívá obrovských částečně strukturovaných datových sad. Tabulky jsou bez schématu a přizpůsobují se okamžitě podle potřeb změny. Přístup je rychlý a nákladově efektivní pro mnoho typů aplikací a obvykle náklady méně než jiné typy úložiště s klíčem.
  • Azure cache pro Redis je plně spravovaná služba pro ukládání do mezipaměti v paměti a zprostředkovatel zpráv pro sdílení dat a stavu mezi výpočetními prostředky. Zahrnuje Open Source Redis i komerční produkt z Redis Labs jako spravované služby. Můžete zlepšit výkon vysoce propustnosti online aplikací pro zpracování transakcí tím, že je navrhujete pro škálování a používání úložiště dat v paměti, jako je například Azure cache pro Redis.
  • Azure Cosmos DB je globálně distribuovaná databáze microsoftu, která umožňuje pružně a nezávisle škálovat propustnost a úložiště napříč libovolným počtem geografických oblastí. Nabízí propustnost, latenci, dostupnost a záruky konzistence s komplexními smlouvami o úrovni služeb (SLA).

Alternativy

  • Azure Traffic Manager směruje příchozí požadavky DNS napříč globálními oblastmi Azure na základě vašeho výběru metod směrování provozu. Poskytuje taky automatické převzetí služeb při selhání a směrování výkonu.
  • Azure Content Delivery Network (CDN) ukládá do mezipaměti statický obsah na hraničních serverech pro rychlou odezvu a pomocí optimalizací sítě vylepšit odezvu na dynamický obsah. CDN je užitečná hlavně v případě, že je uživatelská základna globální.
  • Služba Azure Kubernetes Service (AKS) je plně spravovaná služba Kubernetes pro nasazení a správu kontejnerových aplikací. Můžete ji použít k implementaci architektury mikroslužeb, jejíž součásti se škálují nezávisle na vyžádání.
  • Azure Container Instances poskytuje rychlý a jednoduchý způsob, jak spouštět úlohy bez nutnosti spravovat infrastrukturu. To je užitečné během vývoje nebo pro spouštění neplánovaných úloh.
  • Azure Service Fabric je platforma pro škálování a orchestraci kontejnerů a mikroslužeb.
  • Azure Service Bus je spolehlivá cloudová služba zasílání zpráv pro jednoduchou hybridní integraci. dá se použít místo Queue Storage v této architektuře. další informace najdete v tématu Storage fronty a Service Bus fronty – porovnání a kontrast.

Požadavky

  • Při implementaci a údržbě tohoto řešení se účtují navíc náklady.
  • Použití kanálu změn pro replikaci vyžaduje méně údržby kódu než provádění replikace v základní aplikaci.
  • Stávající data musí být migrována, což by vyžadovalo, aby skripty a rutiny ad hoc zkopírovali stará data do účtů úložiště. Ujistěte se, že máte časové razítko a příznaky kopírování ke sledování průběhu migrace dat.
  • ujistěte se, že jste ignorovali odstranění kanálů generovaných z důvodu funkce Azure, které odstraňují položky z Cosmos DB, aby nedocházelo k odstraňování položek ze sekundárního úložiště (tabulka Azure).

Další kroky