Coğrafi çoğaltmayı etkinleştirme
Bu makale, Azure Uygulaması Yapılandırma depolarının çoğaltmasını kapsar. Yapılandırma deponuzda çoğaltma oluşturmayı, kullanmayı ve silmeyi öğrenirsiniz.
Coğrafi çoğaltma kavramı hakkında daha fazla bilgi edinmek için bkz. Azure Uygulaması Yapılandırmasında coğrafi çoğaltma.
Önkoşullar
- Azure aboneliği - ücretsiz bir abonelik oluşturun
- Zaten bir Uygulama Yapılandırması mağazanız olduğunu varsayıyoruz. Bir mağaza oluşturmak istiyorsanız bir Uygulama Yapılandırması deposu oluşturun.
Çoğaltma oluşturma ve listeleme
Portalda yapılandırma deponuzun çoğaltmasını oluşturmak için aşağıdaki adımları izleyin.
Not
Statik IP ile yapılandırılmış özel uç noktalara sahip bir Uygulama Yapılandırması deposu için çoğaltma oluşturulması desteklenmez. Statik IP yapılandırmasına sahip bir özel uç noktayı tercih ediyorsanız, depoya herhangi bir özel uç nokta eklenmeden önce çoğaltmaların oluşturulması gerekir.
Uygulama Yapılandırması deponuzda, Ayarlar'ın altında Coğrafi çoğaltma'yı seçin.
Çoğaltmalar'ın altında Oluştur'u seçin. Açılan listeden yeni çoğaltmanızın konumunu seçin ve çoğaltmaya bir ad atayın. Bu çoğaltma adı benzersiz olmalıdır.
Oluştur'u belirleyin.
Şimdi yeni çoğaltmanızın Çoğaltmalar altında listelendiğini görmeniz gerekir. Çoğaltmanın durumunun "Başarılı" olup olmadığını denetleyin ve bu da başarıyla oluşturulduğunu gösterir.
Bir çoğaltmayı sil
Portalda bir çoğaltmayı silmek için aşağıdaki adımları izleyin.
Uygulama Yapılandırması deponuzda, Ayarlar'ın altında Coğrafi çoğaltma'yı seçin.
Çoğaltmalar'ın altında, silmek istediğiniz çoğaltmanın sağındaki ... öğesini seçin. Açılan listeden Sil'i seçin.
Silinecek çoğaltmanın adını doğrulayın ve onaylamak için Tamam'ı seçin.
İşlem tamamlandıktan sonra, doğru çoğaltmanın silindiği çoğaltmaların listesini denetleyin.
Otomatik çoğaltma bulma
Uygulama Yapılandırması sağlayıcıları belirli bir Uygulama Yapılandırması uç noktasından tüm çoğaltmaları otomatik olarak bulabilir ve bunlara bağlanmayı dener. Bu özellik, kodunuzu değiştirmek veya uygulamanızı yeniden dağıtmak zorunda kalmadan coğrafi çoğaltmadan yararlanmanızı sağlar. Bu, coğrafi çoğaltmayı etkinleştirebileceğiniz veya uygulamanız dağıtıldıktan sonra bile ek çoğaltma ekleyebileceğiniz anlamına gelir.
Otomatik çoğaltma bulma varsayılan olarak etkindir, ancak devre dışı bırakmak için aşağıdaki örnek koda başvurabilirsiniz (önerilmez).
Genellikle uygulamanızın AddAzureAppConfiguration
dosyasında bulunan yöntemine yapılan çağrıyı program.cs
düzenleyin.
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Disable automatic replica discovery
options.ReplicaDiscoveryEnabled = false;
// Other changes to options
});
Not
Aşağıdaki paketlerden herhangi birinin 7.1.0 veya sonraki bir sürümünü kullanıyorsanız otomatik çoğaltma bulma desteği sağlanır.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker
Çoğaltmalarla ölçeklendirme ve yük devretme
Oluşturduğunuz her çoğaltmanın ayrılmış uç noktası vardır. Uygulamanız birden çok coğrafi konumda bulunuyorsa, uygulamanızın her dağıtımını bir konumda güncelleştirerek bu konuma daha yakın çoğaltmaya bağlanabilirsiniz ve bu da uygulamanızla Uygulama Yapılandırması arasındaki ağ gecikmesini en aza indirmeye yardımcı olur. Her çoğaltmanın ayrı istek kotası olduğundan, bu kurulum uygulamanızın ölçeklenebilirliğine yardımcı olurken çok bölgeli dağıtılmış bir hizmete de yardımcı olur.
Coğrafi çoğaltma etkinleştirildiğinde ve bir çoğaltma erişilebilir değilse, gelişmiş dayanıklılık için uygulamanızın başka bir çoğaltmaya yük devretmesine izin vekleyebilirsiniz. Uygulama Yapılandırması sağlayıcıları, kullanıcı tarafından sağlanan çoğaltmalar ve/veya otomatik olarak bulunan ek çoğaltmalar aracılığıyla yerleşik yük devretme desteğine sahiptir. Çoğaltma uç noktalarınızın listesini en çok tercih edilen ve en az tercih edilen uç noktaya sırasıyla sağlayabilirsiniz. Geçerli uç nokta erişilebilir olmadığında sağlayıcı daha az tercih edilen bir uç noktaya yük devreder, ancak zaman zaman daha fazla tercih edilen uç noktaya bağlanmaya çalışır. Kullanıcı tarafından sağlanan tüm çoğaltmalara erişilemiyorsa, otomatik olarak bulunan çoğaltmalar rastgele seçilir ve kullanılır. Daha tercih edilen bir uç nokta kullanıma sunulduğunda, sağlayıcı gelecekteki istekler için bu uç noktaya geçiş yapacaktır.
Azure Uygulaması Yapılandırması kullanan bir uygulamanız olduğunu varsayarsak, yük devretme özelliğinden yararlanmak için bunu aşağıdaki örnek kod olarak güncelleştirebilirsiniz. Microsoft Entra kimlik doğrulaması için uç noktaların listesini veya erişim anahtarı tabanlı kimlik doğrulaması için bağlantı dizesi listesini sağlayabilirsiniz.
Genellikle uygulamanızın AddAzureAppConfiguration
dosyasında bulunan yöntemine yapılan çağrıyı program.cs
düzenleyin.
Microsoft Entra Id ile bağlanma
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Provide an ordered list of replica endpoints
var endpoints = new Uri[] {
new Uri("<first-replica-endpoint>"),
new Uri("<second-replica-endpoint>") };
// Connect to replica endpoints using Microsoft Entra authentication
options.Connect(endpoints, new DefaultAzureCredential());
// Other changes to options
});
Bağlantı Dizesi ile Bağlanma
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Provide an ordered list of replica connection strings
var connectionStrings = new string[] {
Environment.GetEnvironmentVariable("FIRST_REPLICA_CONNECTION_STRING"),
Environment.GetEnvironmentVariable("SECOND_REPLICA_CONNECTION_STRING") };
// Connect to replica endpoints using connection strings
options.Connect(connectionStrings);
// Other changes to options
});
Not
Aşağıdaki paketlerden herhangi birinin 6.0.0 veya sonraki bir sürümünü kullanıyorsanız yük devretme desteği sağlanır.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker
Uygulama Yapılandırması sağlayıcısı aşağıdaki koşulları gözlemlerse yük devretme gerçekleşebilir.
- Hizmet kullanılamıyor durumuyla (HTTP durum kodu 500 veya üzeri) yanıtları alır.
- Ağ bağlantısı sorunlarıyla ilgili deneyimler.
- İstekler kısıtlandı (HTTP durum kodu 429).
Kimlik doğrulaması hataları gibi istemci hataları için yük devretme gerçekleşmez.
Çoğaltmalarla yük dengeleme
Varsayılan olarak, yük devretme olması dışında uygulamanız her zaman sağladığınız en tercih edilen uç noktaya istek gönderir. Ancak, yük devretmeye ek olarak, isteklerin yükünü dengelemek için çoğaltmalar da kullanılabilir. İstekleri zaman içinde kullanılabilir çoğaltmalar arasında proaktif olarak dağıtarak, tek bir çoğaltmanın istek kotasını tüketmekten kaçınabilir ve uygulamanızın genel ölçeklenebilirliğini geliştirebilirsiniz.
Uygulama Yapılandırması sağlayıcıları, kodda sağlanan veya otomatik olarak bulunan çoğaltmalar arasında yük dengeleme için yerleşik destek sunar. Bu özelliği uygulamanızda etkinleştirmek için aşağıdaki kod örneklerini kullanabilirsiniz (önerilir).
Genellikle uygulamanızın AddAzureAppConfiguration
dosyasında bulunan yöntemine yapılan çağrıyı program.cs
düzenleyin.
configurationBuilder.AddAzureAppConfiguration(options =>
{
// Enable load balancing
options.LoadBalancingEnabled = true;
// Other changes to options
});
Not
Aşağıdaki paketlerden herhangi birinin 8.0.0-preview.3 veya sonraki bir sürümünü kullanıyorsanız yük dengeleme desteği sağlanır.
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.AppConfiguration.AspNetCore
Microsoft.Azure.AppConfiguration.Functions.Worker