Share via


Çok kiracılı ve Azure Uygulama Yapılandırması

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

Yalıtım modelleri

Depo, Azure Uygulama Yapılandırması hizmetinin tek bir örneğini ifade eder.

Çok kiracılı bir çözümde, genel ayarlar veya dağıtım damgası içindeki tüm kiracılar için geçerli olan ayarlar gibi birden çok kiracı arasında paylaştığınız bazı ayarların olması yaygın bir durum olabilir. 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.

Genellikle kiracıya özgü ayarlara da sahip olursunuz. Örneğin, her kiracının veritabanı adını veya iç tanımlayıcılarını depolamanız gerekebilir. Öte yandan, belirli bir kiracı tarafından bildirilen bir sorunu tanılamanız ve bu kiracıdan tanılama günlükleri 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 göre alınmalı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 Uygulama Yapılandırması için ana kiracı yalıtım modelleri arasındaki farklar özetlemektedir:

Değerlendirme 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 eklerini 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 veya her damga pulu için paylaşılan bir Azure Uygulama Yapılandırması deposu 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ı paylaşılan depolar arasında parçalayıp parçalayamayacağınızı 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 istek üst sınırını aşmadığınızdan emin olun.

Kiracı başına depo sayısı

Bunun yerine, her kiracı için bir Azure Uygulama Yapılandırması deposu dağıtmayı seçebilirsiniz. Azure Uygulama Yapılandırması standart katmanı, aboneliğinizde sınırsız sayıda mağaza dağıtmanızı sağlar. Ancak, daha fazla kaynak dağıtmanız ve yapılandırmanız gerektiğinden, bu yaklaşımın yönetilmesi 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 Uygulama Yapılandırması 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 Uygulama Yapılandırması özellikleri

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

Anahtar ön ekleri

Azure Uygulama Yapılandırması'da, 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 göstermek 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 Uygulama Yapılandırması, bir hiyerarşide 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 Uygulama Yapılandırması için sağlayıcı kitaplığını, anahtar ön ekini uygulamanız için 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 Uygulama 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 etiket kullanamazsınız. Bu nedenle, çok kiracılı bir çözümle çalışırken etiketler yerine anahtar ön ekleri 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 Uygulama Yapılandırması ile çalışırken, ayarları her kullandığınızda yüklemek yerine uygulamanızda önbelleğe almak önemlidir. Azure Uygulama Yapılandırması sağlayıcı kitaplıkları ayarları önbelleğe alır ve otomatik olarak yeniler.

Ayrıca, uygulamanızın ayarları tek bir kiracı için mi yoksa tüm kiracılar için mi yüklediğ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ı olarak yüklerseniz, uygulamanızın her bir ayar kümesini diğerlerinden ayrı olarak ö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 sona erme sürelerini 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:

  • John Downs | Baş Müşteri Mühendisi, Azure için FastTrack

Diğer katkıda bulunanlar:

  • Arsen Vladimirskiy | Baş Müşteri Mühendisi, Azure için FastTrack
  • Zhenlan Wang | Baş Yazılım Mühendisliği Yöneticisi, Azure Uygulama 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.