Çok Kiracılı ve Azure Uygulaması Yapılandırması

Azure Uygulaması Yapılandırması, uygulamanız için yapılandırma ayarlarını depolamanıza olanak tanır. Azure Uygulaması Yapılandırması'nı kullanarak Dış Yapılandırma Deposu düzenini kolayca uygulayabilirsiniz. Bu makalede, Azure Uygulaması Yapılandırması'nın çok kiracılı sistemlerle çalışırken yararlı olan özelliklerinden bazılarını açıklıyoruz ve çok kiracılı bir çözümde Azure Uygulaması Yapılandırması'nı kullanma yönergelerine ve örneklerine bağlanıyoruz.

Yalıtım modelleri

Depo, Azure Uygulaması Yapılandırma hizmetinin tek bir örneğine başvurur.

Çok kiracılı bir çözümde iki tür ayarın olması yaygın olarak görülür:

  • Paylaşılan ayarlar, genel ayarlar veya dağıtım damgası içindeki tüm kiracılar için geçerli olan ayarlar gibi birden çok kiracıya uygulanan ayarlardır. Genel ayarlar genellikle paylaşılan bir Uygulama Yapılandırması deposunda depolanır. Bu yaklaşımı izleyerek, bir ayarın değeri değiştiğinde güncelleştirmeniz gereken yer sayısını en aza indirirsiniz. Bu yaklaşım, ayarların eşitlenme riskini de en aza indirir.

  • Her kiracının veritabanı adı veya iç tanımlayıcıları gibi kiracıya özgü ayarlar. Alternatif olarak, belirli bir kiracı tarafından bildirilen bir sorunu tanılamanız ve bu kiracıdan tanılama günlüklerini toplamanız gerektiği gibi, her kiracı için farklı günlük düzeyleri belirtmek isteyebilirsiniz. Birden çok kiracı için kiracıya özgü ayarları tek bir depoda birleştirmeyi veya her kiracı için bir depo dağıtmayı seçebilirsiniz. Bu karar gereksinimlerinize bağlı olmalıdır. Çözümünüz birden çok kiracı için tek bir paylaşılan uygulama katmanı kullanıyorsa, kiracıya özgü depoları kullanmanın çok düşük bir avantajı olabilir. Ancak kiracıya özgü uygulama örnekleri dağıtırsanız, kiracıya özgü yapılandırma depolarını dağıtarak aynı yaklaşımı yansıtmayı seçebilirsiniz.

Aşağıdaki tabloda, Azure Uygulaması Yapılandırması için ana kiracı yalıtım modelleri arasındaki farklar özetlemektedir:

Dikkat edilmesi gereken noktalar Paylaşılan mağaza Kiracı başına depolama
Veri yalıtımı Düşük. Her kiracının verilerini tanımlamak için anahtar ön ekleri veya etiketleri kullanma Yüksek
Performans yalıtımı Düşük Yüksek
Dağıtım karmaşıklığı Düşük Orta-yüksek
operasyonel karmaşıklık Düşük Orta-yüksek
Kaynak maliyeti Düşük Orta-yüksek
Örnek senaryo Paylaşılan uygulama katmanına sahip büyük çok kiracılı çözüm Tamamen yalıtılmış dağıtımlara sahip premium katman kiracıları

Paylaşılan mağazalar

Tüm çözümünüz için paylaşılan bir Azure Uygulaması Yapılandırma deposu veya her damga için bir depo dağıtabilirsiniz. Daha sonra tüm kiracılarınızın ayarları için aynı depoyu kullanabilir ve bunları ayırt etmek için anahtar ön ekleri veya etiketleri kullanabilirsiniz.

Kiracı başına büyük miktarda veri depolamanız gerekiyorsa veya çok sayıda kiracıya ölçeklendirmeniz gerekiyorsa, tek bir depo için kaynak sınırlarından herhangi birini aşma riskiyle karşı karşıya olabilirsiniz. Bu senaryoda, dağıtım ve yönetim maliyetlerini en aza indirmek için kiracılarınızı bir dizi paylaşılan depoda parçalayıp parçalayabileceğinizi düşünün.

Bu yaklaşımı izlerseniz, geçerli olan kaynak kotalarını ve sınırlarını anladığınızdan emin olun. Özellikle, kullandığınız hizmet katmanı için toplam depolama sınırına dikkat edin ve saat başına maksimum isteği aşmadığınızdan emin olun.

Kiracı başına depo sayısı

Bunun yerine, her kiracı için bir Azure Uygulaması Yapılandırma deposu dağıtmayı seçebilirsiniz. Azure Uygulaması Yapılandırması standart katmanı, aboneliğinizde sınırsız sayıda mağaza dağıtmanıza olanak tanır. Ancak, daha fazla kaynak dağıtmanız ve yapılandırmanız gerektiğinden, bu yaklaşımı yönetmek genellikle daha karmaşıktır. Ayrıca dağıttığınız her mağaza kaynağı için bir ücret uygulanır.

Aşağıdaki durumlardan birine sahipseniz kiracıya özgü depoları göz önünde bulundurun:

  • Anahtarların her kiracı için ayrı olduğu müşteri tarafından yönetilen şifreleme anahtarlarını kullanmanız gerekir.
  • Kiracılarınız, yapılandırma verilerinin diğer kiracıların verilerinden tamamen yalıtılmış olmasını gerektirir. Azure Uygulaması Yapılandırması için erişim izni depo düzeyinde denetlendiği için ayrı depolar dağıtarak ayrı erişim izinleri yapılandırabilirsiniz.

çok kiracılılığı destekleyen Azure Uygulaması Yapılandırması özellikleri

Azure Uygulaması Yapılandırması'nı çok kiracılı bir uygulamada kullandığınızda, kiracıya özgü ayarları depolamak ve almak için kullanabileceğiniz çeşitli özellikler vardır.

Anahtar ön ekleri

Azure Uygulaması Yapılandırması'nda, uygulama ayarlarını temsil eden anahtar-değer çiftleriyle çalışırsınız. anahtar, yapılandırma ayarının adını temsil eder. Anahtarlarınız için hiyerarşik bir adlandırma yapısı kullanabilirsiniz. Çok kiracılı bir çözümde, anahtarlarınızın ön eki olarak bir kiracı tanımlayıcısı kullanmayı göz önünde bulundurun.

Örneğin, uygulamanızın günlük düzeyini belirtmek için bir ayar depolamanız gerektiğini varsayalım. Tek kiracılı bir çözümde bu ayarı LogLevelolarak adlandırabilirsiniz. Çok kiracılı bir çözümde, kiracı 1tenant2/LogLevel, tenant1/LogLevel kiracı 2 gibi hiyerarşik bir anahtar adı kullanmayı seçebilirsiniz.

Azure Uygulaması Yapılandırması, hiyerarşideki birden çok düzeyi desteklemek için uzun anahtar adları belirtmenize olanak tanır. Uzun anahtar adları kullanmayı seçerseniz anahtarlar ve değerler için boyut sınırlarını anladığınızdan emin olun.

Uygulamanıza tek bir kiracının yapılandırmasını yüklediğinizde, yalnızca bu kiracının anahtarlarını yüklemek için bir anahtar ön eki filtresi belirtebilirsiniz. Ayrıca Azure Uygulaması Yapılandırması için sağlayıcı kitaplığını, anahtarlardan anahtar ön ekini uygulamanızda kullanılabilir hale gelmeden önce kırpacak şekilde yapılandırabilirsiniz. Anahtar ön ekini kırptığınızda uygulamanız, kiracının değerleri uygulamaya yüklenmiş tutarlı bir anahtar adı görür.

Etiketler

Azure Uygulaması Yapılandırması aynı anahtara sahip ayrı değerlere sahip olmanıza olanak tanıyan etiketleri de destekler.

Etiketler genellikle sürüm oluşturma, birden çok dağıtım ortamıyla çalışma veya çözümünüzdeki diğer amaçlar için kullanılır. Kiracı tanımlayıcılarını etiket olarak kullanabilirsiniz ancak başka hiçbir şey için etiketleri kullanamazsınız. Bu nedenle, çok kiracılı çözümler için kiracıya özgü ayarları yönetmek için anahtar ön ekleri kullanmak ve etiketleri başka amaçlarla kullanmak genellikle iyi bir uygulamadır.

Her kiracı için etiket kullanmaya karar verirseniz, uygulamanız bir etiket filtresi kullanarak yalnızca belirli bir kiracının ayarlarını yükleyebilir. Her kiracı için ayrı uygulama dağıtımlarınız varsa bu yaklaşım yararlı olabilir.

Uygulama tarafı önbelleğe alma

Azure Uygulaması Yapılandırması ile çalışırken, ayarları her kullandığınızda yüklemek yerine uygulamanızda önbelleğe almak önemlidir. Azure Uygulaması Yapılandırma sağlayıcısı kitaplıkları ayarları önbelleğe alır ve otomatik olarak yeniler.

Ayrıca uygulamanızın tek bir kiracının veya tüm kiracıların ayarlarını yükleyip yüklemediğine karar vermeniz gerekir.

Kiracı tabanınız büyüdükçe, tüm kiracıların ayarlarını birlikte yüklemek için gereken süre ve bellek miktarı artacaktır. Bu nedenle çoğu durumda, uygulamanızın ihtiyaç duyduğu her kiracının ayarlarını ayrı olarak yüklemek iyi bir uygulamadır.

Her kiracının yapılandırma ayarlarını ayrı ayrı yüklerseniz, uygulamanızın her bir ayar kümesini diğerlerine ayrı ayrı önbelleğe alması gerekir. .NET uygulamalarında, kiracının IConfiguration nesnesini önbelleğe almak için bellek içi önbellek kullanmayı ve ardından önbellek anahtarı olarak kiracı tanımlayıcısını kullanmayı göz önünde bulundurun. Bellek içi önbellek kullanarak her istekte yapılandırmayı yeniden yüklemeniz gerekmez, ancak uygulamanız bellek baskısı altındaysa önbellek kullanılmayan örnekleri kaldırabilir. Ayrıca her kiracının yapılandırma ayarları için süre sonu zamanlarını yapılandırabilirsiniz.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazar:

Diğer katkıda bulunanlar:

  • Arsen Vladimirskiy | Baş Müşteri Mühendisi, Azure için FastTrack
  • Zhenlan Wang | Ana Yazılım Mühendisliği Yöneticisi, Azure Uygulaması Yapılandırması

Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar

Çok kiracılı dağıtım ve yapılandırma yaklaşımlarını gözden geçirin.