Ç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ı LogLevel
olarak 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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin