Víceklientská architektura a Azure App Configuration

Azure App Configuration umožňuje ukládat nastavení konfigurace pro vaši aplikaci. Pomocí Azure App Configuration můžete snadno implementovat model úložiště externí konfigurace. V tomto článku popisujeme některé funkce Azure App Configuration, které jsou užitečné při práci se systémy s více tenanty, a odkazujeme na pokyny a příklady použití Azure App Configuration ve víceklientských řešeních.

Modely izolace

Úložiště odkazuje na jednu instanci služby Azure App Configuration.

Ve víceklientských řešeních je běžné mít některá nastavení, která sdílíte mezi více tenanty, například globální nastavení nebo nastavení, která platí pro všechny tenanty v rámci razítka nasazení. Globální nastavení se často nejlépe ukládají ve sdíleném App Configuration úložišti. Tímto postupem minimalizujete počet míst, která je potřeba aktualizovat, když se změní hodnota nastavení. Tento přístup také minimalizuje riziko, že se nastavení může nesynchronizovat.

Obvykle budete mít také nastavení specifická pro tenanta. Může být například potřeba uložit název databáze každého tenanta nebo interní identifikátory. Nebo můžete chtít zadat různé úrovně protokolu pro každého tenanta, například při diagnostice problému hlášeného konkrétním tenantem a potřebujete shromáždit diagnostické protokoly z tohoto tenanta. Můžete se rozhodnout, jestli chcete zkombinovat nastavení specifická pro více tenantů do jednoho úložiště, nebo nasadit úložiště pro každého tenanta. Toto rozhodnutí by mělo vycházet z vašich požadavků. Pokud vaše řešení používá jednu sdílenou aplikační vrstvu pro více tenantů, bude používání úložišť pro konkrétního tenanta pravděpodobně přínosné. Pokud ale nasadíte instance aplikací specifické pro konkrétního tenanta, můžete se rozhodnout stejný přístup zrcadlit nasazením úložišť konfigurace pro konkrétního tenanta.

Následující tabulka shrnuje rozdíly mezi hlavními modely izolace tenantů pro Azure App Configuration:

Aspekty Sdílené úložiště Store na tenanta
Izolace dat Nízká. Použití předpon klíčů nebo popisků k identifikaci dat každého tenanta Vysoká
Izolace výkonu Nízká Vysoká
Složitost nasazení Nízká Středně vysoká
Provozní složitost Nízká Středně vysoká
Náklady na prostředky Nízká Středně vysoká
Příklad scénáře Velké řešení s více tenanty se sdílenou aplikační vrstvou Tenanti úrovně Premium s plně izolovanými nasazeními

Sdílené obchody

Sdílené úložiště Azure App Configuration můžete nasadit pro celé vaše řešení nebo pro každé razítko. Pak můžete použít stejné úložiště pro všechna nastavení vašich tenantů a k jejich rozlišení můžete použít předpony nebopopisky klíčů.

Pokud potřebujete uložit velké množství dat na tenanta nebo pokud potřebujete škálovat na velký počet tenantů, může u vás hrozit překročení limitů prostředků pro jedno úložiště. V tomto scénáři zvažte, jestli můžete horizontálně rozdělit tenanty mezi sadu sdílených úložišť, abyste minimalizovali náklady na nasazení a správu.

Pokud použijete tento přístup, ujistěte se, že rozumíte kvótám a omezením prostředků , které platí. Mějte zejména na paměti celkový limit úložiště pro úroveň služby, kterou používáte, a ujistěte se, že nepřekročíte maximální počet požadavků za hodinu.

Úložiště na tenanta

Místo toho můžete nasadit úložiště Azure App Configuration pro každého tenanta. Úroveň Azure App Configuration Standard umožňuje nasadit neomezený počet obchodů ve vašem předplatném. Správa tohoto přístupu je ale často složitější, protože musíte nasadit a nakonfigurovat více prostředků. Za každý prostředek úložiště, který nasadíte, se také účtuje poplatek.

Zvažte úložiště specifická pro tenanta, pokud máte jednu z následujících situací:

  • Musíte použít šifrovací klíče spravované zákazníkem, kde jsou klíče pro každého tenanta samostatné.
  • Vaši tenanti vyžadují, aby jejich konfigurační data byla zcela izolovaná od dat ostatních tenantů. Přístupová oprávnění pro Azure App Configuration se řídí na úrovni úložiště, takže nasazením samostatných úložišť můžete nakonfigurovat samostatná přístupová oprávnění.

Funkce Azure App Configuration, které podporují víceklientské prostředí

Pokud používáte Azure App Configuration ve víceklientských aplikacích, existuje několik funkcí, které můžete použít k ukládání a načítání nastavení specifických pro tenanta.

Předpony klíčů

V Azure App Configuration pracujete s páry klíč-hodnota, které představují nastavení aplikace. Klíč představuje název nastavení konfigurace. Pro klíče můžete použít hierarchickou strukturu pojmenování. V řešení s více tenanty zvažte použití identifikátoru tenanta jako předpony vašich klíčů.

Předpokládejme například, že potřebujete uložit nastavení pro označení úrovně protokolování pro vaši aplikaci. V řešení s jedním tenantem můžete toto nastavení LogLevelpojmenovat . Ve víceklientských řešeních se můžete rozhodnout použít hierarchický název klíče, například tenant1/LogLevel pro tenanta 1, tenant2/LogLevel pro tenanta 2 atd.

Azure App Configuration umožňuje zadat dlouhé názvy klíčů pro podporu více úrovní v hierarchii. Pokud se rozhodnete používat dlouhé názvy klíčů, ujistěte se, že rozumíte omezením velikosti klíčů a hodnot.

Když do aplikace načtete konfiguraci jednoho tenanta, můžete zadat filtr předpon klíčů , který načte jenom klíče daného tenanta. Můžete také nakonfigurovat knihovnu zprostředkovatele pro Azure App Configuration tak, aby předponu klíče ořízla, než je zpřístupní vaší aplikaci. Když oříznete předponu klíče, vaše aplikace uvidí konzistentní název klíče s hodnotami daného tenanta načtenými do aplikace.

Popisky

Azure App Configuration také podporuje popisky, které umožňují mít samostatné hodnoty se stejným klíčem.

Popisky se často používají ke správě verzí, práci s více prostředími nasazení nebo k jiným účelům ve vašem řešení. Identifikátory tenanta sice můžete použít jako popisky, ale nebudete je moct použít pro nic jiného. Proto se při práci s víceklientovým řešením často doporučuje používat předpony klíčů místo popisků.

Pokud se rozhodnete použít popisky pro každého tenanta, může vaše aplikace pomocí filtru popisků načíst jenom nastavení pro konkrétního tenanta. Tento přístup může být užitečný, pokud máte pro každého tenanta samostatná nasazení aplikací.

Ukládání do mezipaměti na straně aplikace

Při práci s Azure App Configuration je důležité ukládat nastavení v rámci aplikace do mezipaměti, místo abyste je načítali pokaždé, když je použijete. Knihovny poskytovatele Azure App Configuration nastavení mezipaměti a automaticky je aktualizují.

Musíte se také rozhodnout, jestli vaše aplikace načte nastavení pro jednoho tenanta nebo pro všechny tenanty.

S rostoucí základnou tenanta se pravděpodobně zvýší doba a paměť potřebná k načtení nastavení pro všechny tenanty společně. Ve většině situací je proto vhodné načíst nastavení pro každého tenanta zvlášť, když je vaše aplikace potřebuje.

Pokud načtete nastavení konfigurace každého tenanta samostatně, musí vaše aplikace ukládat každou sadu nastavení do mezipaměti zvlášť pro všechny ostatní. V aplikacích .NET zvažte použití mezipaměti v paměti k ukládání objektu IConfiguration tenanta do mezipaměti a pak jako klíč mezipaměti použít identifikátor tenanta. Při použití mezipaměti v paměti nemusíte znovu načítat konfiguraci při každém požadavku, ale pokud je vaše aplikace pod tlakem na paměť, může mezipaměť odebrat nepoužívané instance. Můžete také nakonfigurovat časy vypršení platnosti pro nastavení konfigurace každého tenanta.

Přispěvatelé

Tento článek spravuje Microsoft. Původně ji napsali následující přispěvatelé.

Hlavní autor:

  • John Downs | Hlavní inženýr zákazníka, FastTrack pro Azure

Další přispěvatelé:

  • Arsen Vladimirskiy | Hlavní inženýr zákazníka, FastTrack pro Azure
  • Zhenlan Wang | Hlavní manažer softwarového inženýrství, Azure App Configuration

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky

Projděte si přístupy k nasazení a konfiguraci pro víceklientské prostředí.