Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure İşlevleri , altyapıyı açıkça sağlamak veya yönetmek zorunda kalmadan küçük kod blokları (işlevler) çalıştırmanızı sağlayan olay temelli bir işlem hizmetidir. İşlevler HTTP istekleri, zamanlayıcılar, kuyruk iletileri ve diğer Azure hizmetlerindeki değişiklikler gibi olaylara yanıt vererek verileri işlemek, sistemleri tümleştirmek ve arka plan görevlerini çalıştırmak için uygun hale getirir.
Azure'ı kullandığınızda güvenilirlik paylaşılan bir sorumluluktır. Microsoft, dayanıklılık ve kurtarmayı desteklemek için çeşitli özellikler sunar. Bu özelliklerin kullandığınız tüm hizmetler içinde nasıl çalıştığını anlamak ve iş hedeflerinize ve çalışma süresi hedeflerinize ulaşmak için ihtiyacınız olan özellikleri seçmek sizin sorumluluğunuzdadır.
Bu makalede Azure İşlevleri'nin geçici hatalar, kullanılabilirlik alanı hataları ve bölge genelindeki hatalar da dahil olmak üzere çeşitli olası kesintilere ve sorunlara karşı nasıl dayanıklı hale getirilmeye başlandığı açıklanmaktadır. Ayrıca Azure İşlevleri hizmet düzeyi sözleşmesi (SLA) hakkındaki önemli bilgileri de vurgular.
Üretim dağıtımı önerileri
Azure Well-Architected Framework güvenilirlik, performans, güvenlik, maliyet ve operasyonlar hakkında öneriler sağlar. Bu alanların birbirini nasıl etkilediğini anlamak ve güvenilir bir Azure İşlevleri çözümüne katkıda bulunmak için bkz. Azure İşlevleri için mimarinin en iyi yöntemleri.
Güvenilirlik mimarisine genel bakış
Azure İşlevleri'ne dağıtım yaparken çeşitli kavramlar hakkında bilgi sahibi olmak önemlidir:
Barındırma planları: Planlar, işlev uygulamalarınız için barındırma ortamını temsil eden bir ortamdır. Plan kullanılabilir işlem kaynaklarını, fiyatlandırma modelini ve ölçeklendirme davranışını belirler.
Depolama hesapları: bir işlev uygulaması oluşturduğunuzda, bir konak depolama hesabı belirtmeniz gerekir. Depolama hesabı işlev kodu depolama, günlüğe kaydetme ve eşzamanlılık yönetimi (belirli tetikleyici türleri için blob kiralamaları gibi) dahil olmak üzere işlev uygulamasının iç işlemlerinin yönlerini yönetmek için kullanılır.
Dağıtım için bir depolama hesabı da kullanabilirsiniz. Bu depolama hesabı, ana bilgisayar depolama hesabınızla veya farklı bir depolama hesabınızla aynı olabilir.
Önemli
Depolama hesapları, Azure İşlevleri güvenilirlik mimarinizin kritik parçalarıdır ve bunları işlev uygulamanızın dayanıklılık gereksinimlerini karşılayacak şekilde yapılandırmanız gerekir.
Tetikleyiciler ve bağlamalar: Bunlar işlevinizin olaylara yanıt vermesini, diğer hizmetlerden veri almasını ve yazmasını sağlar.
Dayanıklı İşlevler: Dayanıklı işlevler, uzun süre çalışan orkestrasyonlar ve durum bilgisi olan varlıklar da dahil olmak üzere durum bilgisi olan işlevlerdir.
Dayanıklı İşlevler'i kullandığınızda, durumu depolayan bir depolama sağlayıcısı yapılandırabilirsiniz. Seçtiğiniz durum deposunun güvenilirlik özelliklerini değerlendirmeniz ve dayanıklılık gereksinimlerinizi karşılayacak şekilde yapılandırmanız gerekir.
Geçici hatalara dayanıklılık
Geçici hatalar, bileşenlerde kısa ve aralıklı hatalardır. Bunlar genellikle bulut gibi dağıtılmış bir ortamda gerçekleşir ve işlemlerin normal bir parçasıdır. Geçici hatalar kısa bir süre sonra kendilerini düzeltmektedir. Uygulamalarınızın genellikle etkilenen istekleri yeniden deneyerek geçici hataları işleyebileceği önemlidir.
Bulutta barındırılan tüm uygulamalar, bulutta barındırılan API'ler, veritabanları ve diğer bileşenlerle iletişim kurarken Azure geçici hata işleme yönergelerini izlemelidir. Daha fazla bilgi için bkz Geçici hataları ele alma önerileri.
İşlev uygulamalarınızdaki geçici hataları işlemek için aşağıdaki önerileri göz önünde bulundurun:
Tetikleyiciler ve bağlamalar: Azure İşlevleri platformu, birçok tetikleyici ve bağlama için yerleşik geçici hata işleme içerir. Desteklenen bir tetikleyici tetiklendiğinde veya desteklenen bir bağlama verileri okurken veya yazarken geçici bir hata oluştuğunda platform işlemi otomatik olarak yeniden deneyebilir. Bu yerleşik yeniden deneme davranışı, geçici bağlantı sorunlarının veya hizmet kesintilerinin fonksiyonunuzun çalıştırılmasını engellememesine yardımcı olur. Daha fazla bilgi için bkz. Azure İşlevleri hata işleme ve yeniden denemeler.
Ancak bu koruma yalnızca geçici hataları kapsar. Yanlış yapılandırılmış bağlantı dizesi veya silinen kaynak gibi kalıcı hatalar yeniden denenmiyor.
Kalıcı hatalar ve yinelenen geçici hatalar hata olarak değerlendirilir ve işlev yürütme hataları hakkındaki bilgileri yakalamak için günlüğe kaydetmeyi yapılandırabilirsiniz. Daha fazla bilgi için bkz. Azure İşlevleri için izlemeyi yapılandırma.
İşlev kodunuz: İşlevinizin gövdesinde, dış hizmetlere çağrı yaparken geçici hataları işlemek sizin sorumluluğunuzdadır. İşlev kodunuzda yapılan dış hizmet çağrıları için uygun şekilde yeniden deneme mantığı, zaman aşımları ve devre kesici desenleri uygulamanız gerekir. İşlevlerinizi mümkün olan her yerde etkili olacak şekilde tasarlayın; böylece yeniden denemeler yinelenen yan etkilere neden olmaz.
Istemci: http bağlantısı kullanarak gibi işlevlere zaman uyumlu olarak bağlanan tüm istemci uygulamaları geçici hatalara dayanıklı olmalıdır.
Kullanılabilirlik alanı hatalarına dayanıklılık
Kullanılabilirlik alanları , bir Azure bölgesi içindeki veri merkezlerinin fiziksel olarak ayrı gruplarıdır. Bir bölge başarısız olduğunda hizmetler kalan bölgelerden birine devredilebilir.
Tüketim planları kullanılabilirlik alanlarını desteklemez. Bölge yedekliliği iş yükünüz için gerekliyse bunun yerine Esnek Tüketim planı, Premium plan veya Ayrılmış (App Service) plan türlerini kullanmayı göz önünde bulundurun.
Esnek Tüketim planları alanlar arası yedekli dağıtımları destekler.
Premium planlar alanlar arası yedekli dağıtımları destekler.
Alanlar arası yedeklilik etkinleştirildiğinde platform, plan örneklerinizi seçilen bölgedeki tüm kullanılabilirlik alanlarına otomatik olarak yayar. Bölgedeki kullanılabilirlik alanlarından herhangi biri sorun yaşıyorsa, işlevleriniz iyi durumdaki bölgelerdeki örnekleri kullanarak çalışmaya devam eder.
Ayrıca konak depolama hesabında alanlar arası yedekli depolamayı (ZRS) etkinleştirmeniz gerekir ve bu da bölge kesintilerine karşı dayanıklı olmasını sağlar.
Ayrılmış (App Service) planı alanlar arası yedekli dağıtımları destekler. Alanlar arası yedeklilik etkinleştirildiğinde platform, örneklerinizi seçilen bölgedeki tüm kullanılabilirlik alanlarına otomatik olarak yayar. Plan üzerinde bölge yedekliliğini yapılandırabilirsiniz. App Service'in alanlar arası yedekliliği nasıl işlediği hakkında ayrıntılı bilgi için bkz. Azure App Service'te güvenilirlik.
Bölge yedekliliğini etkinleştirmezseniz, planınız bölgesel değildir veya sadece bölgeseldir; bu da plan örneklerinin bölgede herhangi bir kullanılabilirlik alanına veya aynı alan içerisine yerleştirilebileceği ve bu alanların kullanılabilirlik arızalarına karşı dayanıklı olmadığı anlamına gelir. Planınız, bölgedeki herhangi bir alanda kesinti sırasında kesinti süresi yaşayabilir.
Gereksinimler
- Bölge desteği: Alanlar arası yedekli Esnek Tüketim planları belirli bir bölge kümesine dağıtılabilir. Azure CLI'yi kullanarak desteklenen bölgelerin geçerli listesini alabilirsiniz. Daha fazla bilgi için bkz. Kullanılabilirlik alanlarını destekleyen bölgeleri görüntüleme.
Bölge desteği: Alanlar arası yedekli Premium planları aşağıdaki bölgelere dağıtılabilir:
Amerikalar Avrupa Orta Doğu Africa Asia Pacific Güney Brezilya Orta Fransa Israel Central Güney Afrika - Kuzey Australia East Canada Central Almanya Batı Merkez Qatar Central Orta Hindistan Central US Italy North Birleşik Arap Emirlikleri Kuzey Kuzey Çin 3 East US Kuzey Avrupa Doğu Asya Doğu ABD 2 Norway East Japonya Doğu ABD'nin Güney Merkez Bölgesi Orta İsveç Güneydoğu Asya Batı ABD 2 Switzerland North Batı ABD 3 UK South West Europe İşletim sistemleri: Hem Windows hem de Linux planları desteklenir.
En düşük örnek sayısı: Premium planlar için bölge yedekliliği etkinleştirildiğinde en az iki her zaman hazır örnek gerekir.
- Konak depolama hesabı: İşlev uygulamanızın varsayılan konak depolama hesabını alanlar arası yedekli depolama (ZRS) kullanacak şekilde yapılandırmanız gerekir. ZRS için yapılandırılmamış bir konak depolama hesabı kullanıyorsanız, uygulamanız bölge kesintisi sırasında beklenmedik şekilde davranabilir.
- Dağıtım kapsayıcısı depolama hesabı: Uygulamanın dağıtım kapsayıcısı için ayrı bir depolama hesabı kullanıyorsanız, bunu da alanlar arası yedekli olacak şekilde güncelleştirmeniz gerekir.
Değerlendirmeler
Alanlar arası yedeklilik yalnızca dağıtılan uygulamalar için sürekli çalışma süresini garanti eder. Uygulama trafiğe hizmet etmeye devam etse bile kullanılabilirlik alanı kesintisi Azure İşlevleri'nin bazı yönlerini etkileyebilir. Bu davranışlar arasında plan ölçeklendirme, uygulama oluşturma, uygulama yapılandırması ve uygulama yayımlama yer alır.
Bölgeler arasında örnek dağıtımı
Esnek Tüketim planı uygulamalarını alanlar arası yedekli olarak yapılandırdığınızda, platform plan örneklerini otomatik olarak seçilen bölgedeki birden çok bölgeye yayar ve her zaman hazır olan ve isteğe bağlı örnekler için farklı kurallar sunar:
Her zaman hazır örnekler, dönüşümlü bir yöntemle en az iki bölgeye dağıtılır.
Bölge dayanıklılığını sağlamak için platform, uygulama için her zaman hazır yapılandırmadan bağımsız olarak her işlev başına ölçeklendirme işlevi veya grubu için her zaman hazır en az iki örneği otomatik olarak tutar. Platform tarafından oluşturulan tüm örnekler platform tarafından yönetilir, her zaman hazır örnekler olarak faturalandırılır ve her zaman hazır yapılandırma ayarlarını değiştirmez.
İsteğe bağlı örnekler , uygulama her zaman hazır örnek sayısının ötesine ölçeklendirildikçe olay kaynağı birimlerinin bir sonucu olarak oluşturulur. İsteğe bağlı örnekler, kullanılabilirlik alanları arasında en iyi çaba temelinde dağıtılır. Ölçekleme hızının artırılması, bölgeler arasında eşit dağılım sağlanmasından önce gelir. Platform, zaman içinde dağıtımı eşitlemeye çalışır.
Elastik Premium işlev uygulaması planlarını alanlar arası yedekli olarak yapılandırdığınızda platform, plan örneklerini seçilen bölgedeki birden çok bölgeye otomatik olarak yayar. Uygulama ölçeği daraltılıp genişletilmesine rağmen örnek yayma şu kurallara uyar:
- En düşük işlev uygulaması örneği sayısı ikidir.
- Bölge sayısından daha büyük bir kapasite belirttiğinizde, örnekler yalnızca kapasite bölge sayısının katı olduğunda eşit olarak yayılır.
- Bölge Sayısı * Örnek Sayısı'nı aşan bir kapasite değeri için, fazladan örnekler kalan bölgelere dağıtılır.
İşlevler, örnekleri alanlar arası yedekli bir Premium plana ayırdığında, temel alınan Azure Sanal Makine Ölçek Kümelerinin sunduğu en iyi efor alanı dengelemesini kullanır. Premium plan, her bölgenin Premium planı tarafından kullanılan diğer tüm bölgelerde aynı sayıda sanal makineye sahip olması ve artı veya eksi bir sanal makine olması halinde dengeli olarak kabul edilir.
Maliyet
Alanlar arası yedekliliği etkinleştirmenin ek bir maliyeti yoktur. Alanlar arası yedekli bir plan için fiyatlandırma, tek bölgeli planla aynıdır.
Ancak, her işlev başına ölçeklendirme işlevi veya grubu için ikiden az örnek içeren her zaman hazır örnek yapılandırmasına sahip bir uygulamada kullanılabilirlik alanlarını etkinleştirdiğinizde, platform her işlev başına ölçeklendirme işlevi veya grubu için her zaman hazır türün iki örneğini otomatik olarak oluşturur. Bu yeni örnekler de her zaman hazır örnekler olarak faturalandırılır.
Ancak, ikiden az örneği olan bir planda kullanılabilirlik alanlarını etkinleştirirseniz, platform bu plan için en az iki örnek sayısını zorlar ve her iki örnek için de ücretlendirilirsiniz.
Tüm fiyatlandırma ayrıntıları için bkz. Azure İşlevleri fiyatlandırması.
Kullanılabilirlik alanı desteğini yapılandırma
Alanlar arası yedekli yeni bir Azure İşlevleri planı oluşturun. Yeni bir plan oluşturduğunuzda alanlar arası yedekliliği etkinleştirebilirsiniz. Ayrıntılı adımlar için bkz. Alanlar arası yedekli İşlev Uygulaması oluşturma.
Mevcut bir planda bölge yedekliliğini etkinleştirin: Bölge yedekliliğini etkinleştirmek için mevcut bir Esnek Tüketim planını güncelleştirebilirsiniz. Ayrıntılı adımlar için bkz. Mevcut bir planda bölge yedekliliğini etkinleştirme.
Alanlar arası yedekli yeni bir Azure İşlevleri planı oluşturun. Yeni bir plan oluşturduğunuzda alanlar arası yedekliliği etkinleştirebilirsiniz. Ayrıntılı adımlar için bkz. Alanlar arası yedekli İşlev Uygulaması oluşturma.
Mevcut bir planda bölge yedekliliğini etkinleştirin: Premium planlar için yalnızca plan oluşturma sırasında bölge yedekliliğini etkinleştirebilirsiniz. Mevcut bir Premium planı, bölgesel yedeklilik sağlayacak şekilde dönüştüremezsiniz. Bunun yerine, yeni bir Premium plan uygulamasında paralel bir dağıtım oluşturarak uygulamanızı taşımanız gerekir. Daha fazla bilgi için bkz. Mevcut planda bölge yedekliliğini etkinleştirme.
Kapasite planlaması ve yönetimi
Bölgedeki bölgelerde kesinti yaşansa bile alanlar arası yedekli işlev uygulamaları çalışmaya devam eder.
Bir bölge kesintisi sırasında Azure İşlevleri kayıp örnekleri algılar ve iyi durumdaki bölgelerdeki yedek örnekleri otomatik olarak bulmaya veya oluşturmaya çalışır. Bu işlem en iyi çaba temelinde yapılır ve garanti değildir. İş yükünüzde beklenen hizmet düzeyini korumak için belirli sayıda örnek olması gerekiyorsa, her zaman hazır örnek sayısını fazla sağlamayı göz önünde bulundurun. Bu yaklaşım, çözümün bazı kapasite kayıplarını tolere etmesine ve performansı düşürmeden çalışmaya devam etmesine olanak tanır. Daha fazla bilgi için bkz. Aşırı sağlamayı kullanarak kapasiteyi yönetme.
Tüm bölgeler sağlıklı olduğunda davranış
Bu bölümde, plan alanlar arası yedekli olduğunda, konak depolama hesabında ZRS kullanıldığında ve tüm kullanılabilirlik alanları çalışır durumda olduğunda neler bekleyebileceğiniz açıklanmaktadır.
Bölgeler arası işlem: Azure İşlevleri'nde alanlar arası yedekliliği yapılandırdığınızda istekler otomatik olarak her kullanılabilirlik alanındaki örneklere yayılır. İstek herhangi bir kullanılabilirlik alanındaki herhangi bir örneğe gidebilir.
Bölgeler arası veri çoğaltma: Azure İşlevleri durum bilgisi olmayan bir işlem hizmeti olduğundan bölgeler arasında çoğaltılması gereken müşteri verileri yoktur. Platform, yapılandırmayı bölgeler arasında otomatik olarak çoğaltır.
Ana bilgisayar depolama hesabınız ZRS kullanıyorsa, Azure Depolama verilerini birden çok kullanılabilirlik alanına eşzamanlı olarak çoğaltır.
Dayanıklı İşlevler için depolama sağlayıcınızı gözden geçirerek verilerin bölgeler arasında nasıl çoğaltılması hakkında bilgi edinin.
Bölge hatası sırasındaki davranış
Bu bölümde, bir plan alanlar arası yedekliliğe sahip olduğunda, konak depolama hesabı ZRS kullandığında ve kullanılabilirlik bölgesi kesintisi yaşandığında neler bekleyebileceğiniz açıklanmaktadır.
- Algılama ve yanıt: Azure İşlevleri platformu, kullanılabilirlik alanındaki bir hatayı algılamaktan sorumludur. Bölge yük devretmesini başlatmak için herhangi bir işlem yapmanız gerekmez.
- Bildirim: Bir bölge kapatıldığında Microsoft sizi otomatik olarak bilgilendirmez. Ancak, tek bir kaynağın durumunu izlemek için Azure Kaynak Durumu'nı kullanabilir ve sorunları size bildirmek için Kaynak Durumu uyarıları ayarlayabilirsiniz. Azure Hizmet Durumu'nı , bölge hataları dahil olmak üzere hizmetin genel durumunu anlamak için de kullanabilir ve sorunları size bildirmek için Hizmet Durumu uyarıları ayarlayabilirsiniz.
Etkin istekler: Kullanılabilirlik alanı kullanılamadığında, hatalı kullanılabilirlik alanındaki bir örneğe bağlı devam eden tüm istekler sonlandırılır ve yeniden denenilmesi gerekir. Geçici hata işleme yönergelerini izleyerek uygulamalarınızın hazır olduğundan emin olun.
Beklenen veri kaybı: Azure İşlevleri durum bilgisi olmayan bir hizmet olduğundan bölge hatalarının veri kaybına neden olması beklenmiyor.
Barındırılan depolama hesabınız ZRS kullanıyorsa, Azure Storage bir bölge hatasından veri kaybı olmamasını sağlar.
Dayanıklı İşlevler için depolama sağlayıcınızı gözden geçirerek bölge hatası sırasında veri kaybının mümkün olup olmadığını anlayın.
Beklenen kapalı kalma süresi: Bölge kesintileri sırasında, trafik yeniden dağıtılırken bağlantılarda genellikle birkaç saniye süren kısa kesintiler yaşanabilir. Geçici hata işleme yönergelerini izleyerek uygulamalarınızın hazır olduğundan emin olun.
Trafik yeniden yönlendirme: Azure İşlevleri bu bölgeden kayıp örnekleri algılar ve yeni yeni örnekler bulmaya çalışır. Azure İşlevleri yenilerini bulduktan sonra, trafiği gerektiğinde yeni örneklere dağıtır.
Önemli
Azure, daha fazla örnek için yapılan isteklerin bir bölge aşağı senaryosunda başarılı olduğunu garanti etmez. Platform, kayıp durumları elinden gelenin en iyisini yaparak doldurmaya çalışır. Bölge kaybını hesaba katmak üzere, kullanılabilirlik alanı hatası sırasında garantili kapasiteye ihtiyacınız varsa, kapasiteyi fazladan sağlayarak planlarınızı oluşturun ve yapılandırın.
Çalışma zamanı olmayan davranışlar: Alanlar arası yedekli işlev uygulaması planındaki uygulamalar, kullanılabilirlik alanında kesinti yaşansa bile çalışmaya ve trafiğe hizmet etmeye devam eder. Ancak, kullanılabilirlik alanı kesintisi sırasında çalışma zamanı dışı davranışlar etkilenebilir. Bu davranışlar işlev uygulaması ölçeklendirme, uygulama oluşturma, uygulama yapılandırması ve uygulama yayımlamayı içerir.
Bölge kurtarma
Kullanılabilirlik alanı kurtarıldığında Azure İşlevleri kullanılabilirlik alanındaki örnekleri otomatik olarak geri yükler, diğer kullanılabilirlik alanlarında oluşturulan geçici örnekleri kaldırır ve örnekleriniz arasındaki trafiği normal şekilde yeniden yönlendirer.
Bölge hataları için test
Azure İşlevleri platformu, alanlar arası yedekli kaynaklar için trafik yönlendirme, yük devretme ve bölge kurtarmayı yönetir. Hiçbir şey başlatmanıza gerek yoktur. Bu özellik tam olarak yönetildiği için kullanılabilirlik alanı hata işlemlerini doğrulamanız gerekmez.
Bölge genelindeki hatalara dayanıklılık
Azure İşlevleri tek bölgeli bir hizmettir. Bölge kullanılamaz duruma gelirse Azure İşlevleri kaynağınız da kullanılamaz.
Dayanıklılık için özel çok bölgeli çözümler
Kesintiler sırasında yürütme kaybını önlemek için, aynı işlevleri birden çok bölgede işlev uygulamalarına yedekli olarak dağıtabilirsiniz.
Bundan siz sorumlusunuz:
- İşlev uygulamalarını birden çok bölgeye dağıtma
- Bölgeler arasındaki trafik dağıtımlarını yönetme
- Yük devretme mekanizmalarını uygulamak
- Bölgeler arasında veri tutarlılığını sağlama (varsa)
- Bölgeler arası dağıtımları izleme ve yönetme
Aynı işlev kodunu birden çok bölgede çalıştırdığınızda, göz önünde bulundurabileceğiniz iki yaygın kullanılan desen vardır: etkin-etkin ve aktif-pasif. Aşağıdaki bölümlerde bu desenlere kısa bir giriş sağlanır, ancak ayrıntılı yönergeler veya yapılandırma adımları sağlanmamıştır.
HTTP tetikleyici işlevleri için etkin-etkin model
Etkin-etkin desenle, her iki bölgede de işlevler, yinelenen bir şekilde veya dönüşümlü olarak olayları çalıştırır ve işler. Kritik öneme sahip HTTP ile tetiklenen işlevleriniz için Azure Front Door ile birlikte çalışan etkin-etkin bir desen kullanmalısınız; bu sayede birden çok bölgede çalışan işlevler arasında HTTP isteklerini yönlendirebilir ve istekleri dönüşümlü olarak dağıtabilirsiniz. Azure Front Door ayrıca her uç noktanın durumunu düzenli aralıklarla denetleyebiliyor. Bir bölgedeki bir işlev sistem durumu denetimlerine yanıt vermeyi durdurursa, Azure Front Door bu işlevi devreden çıkarır ve trafiği yalnızca kalan sağlıklı işlevlere yönlendirir.
HTTP olmayan tetikleyici işlevleri için etkin-pasif desen
Olay odaklı, HTTP ile tetiklenmeyen işlevler (Service Bus ve Event Hubs ile tetiklenen işlevler gibi) için etkin-pasif bir desen kullanın. Etkin-pasif desenle, işlevler olayları alan bölgede etkin olarak çalıştırılırken, ikinci bölgedeki aynı işlevler boşta kalır. Etkin-pasif desen, her iletiyi yalnızca tek bir işlevin işlemesini sağlayarak veri tutarlılığını korumak açısından önemlidir ve ayrıca bir bölge kesintisi gibi olağanüstü durumlarda ikincil bölgeye yük devretmeye yönelik bir mekanizma sunar.
İşlev uygulaması yük devretme, aşağıdakiler gibi diğer hizmetlerin yük devretme davranışlarıyla dikkate alınmalıdır:
- Azure Service Bus coğrafi çoğaltma ve coğrafi olağanüstü durum kurtarma
- Azure Event Hubs coğrafi çoğaltma ve coğrafi olağanüstü durum kurtarma
Event Hubs ad alanınızın coğrafi olağanüstü durum kurtarma için yapılandırıldığı Azure Event Hubs tetikleyicisini kullanarak örnek bir topolojiyi düşünün. Bu durumda, etkin-pasif desen aşağıdaki bileşenleri gerektirir:
- Azure Event Hubs hem birincil hem de ikincil bölgeye dağıtıldı.
- Coğrafi olağanüstü durum kurtarma, birincil ve ikincil olay hub'larını eşleştirmek için etkinleştirildi. Bu ayrıca Event Hubs ad alanına bağlanmak için kullanabileceğiniz bir takma ad oluşturur ve bağlantı bilgilerini değiştirmeden birincilden ikincile geçiş yapabilirsiniz.
- Birincil ve ikincil (yük devretme) bölgeye dağıtılan işlev uygulamaları; iletiler gönderilmediği için ikincil bölgedeki uygulama esasen boşta kalır.
- İşlev uygulaması, ilgili Event Hubs ad alanı için doğrudan (alias olmayan) bağlantı dizesi üzerinden tetiklenir.
- Event Hubs ad alanındaki yayımlayıcılar, takma ad bağlantı dizisine yayımlamalıdır.
Yük devretmeden önce, paylaşılan diğer ad adresine gönderen yayımcılar birincil olay hub'ına yönlendirilir. Birincil işlev uygulaması yalnızca birincil olay hub'ını dinliyor. İkincil işlev uygulaması pasif ve boştadır.
Yük devretme başlatılır başlatılmaz, paylaşılan diğer adla gönderen yayımcılar ikincil olay hub'ına yönlendirilir. İkincil işlev uygulaması artık etkin hale gelir ve otomatik olarak tetiklenir. İkincil bölgeye etkili yük devretme tamamen olay hub'ından yönlendirilebilir ve işlevler yalnızca ilgili olay hub'ı etkin olduğunda etkin hale gelebilir.
Dayanıklı işlevler
Dayanıklı İşlevler için çok bölgeli olağanüstü durum kurtarma için bkz. Azure Dayanıklı İşlevler'de olağanüstü durum kurtarma ve coğrafi dağıtım.
Hizmet bakımına dayanıklılık
Azure İşlevleri düzenli hizmet yükseltmeleri ve diğer bakım görevlerini gerçekleştirir.
- Geçici hata dayanıklılığı: Hizmet bakımı sırasında işlev uygulamanızı çalıştıran örnekler yeniden başlatılabilir veya geçici kesintilerle karşılaşabilir. İşlev uygulamanızla etkileşim kuran tüm istemci uygulamalarının geçici hatalara dayanıklı olduğundan emin olun.
- Alanlar arası yedekliliği etkinleştir: Planınızda alanlar arası yedekliliği etkinleştirdiğinizde, platform güncelleştirmeleri sırasında dayanıklılığı da geliştirirsiniz. Planınızda birden çok örnek dağıtmak ve planınız için bölge yedekliliğini etkinleştirmek, bir yükseltme sırasında örneklerden veya bölgelerden birinin sağlıksız hale gelmesi durumunda ek bir dayanıklılık katmanı sağlar.
Yükseltme sırasında beklenen kapasitenizi korumak için platform, yükseltme işlemi sırasında planın ek örneklerini otomatik olarak ekler.
- Alanlar arası yedekliliği etkinleştir: Planınızda alanlar arası yedekliliği etkinleştirdiğinizde, platform güncelleştirmeleri sırasında dayanıklılığı da geliştirirsiniz. Güncelleştirme etki alanları, güncelleştirme sırasında çevrimdışı olan sanal makineler (VM'ler) koleksiyonlarından oluşur ve kullanılabilirlik bölgeleriyle eşleşir. Planınızda birden çok örnek dağıtmak ve planınız için bölge yedekliliğini etkinleştirmek, herhangi bir yükseltme sırasında bir örnek veya bölgenin iyi durumda olmadığında ek bir dayanıklılık katmanı ekler.
App Service Ortamı: İşlev uygulamanızı bir App Service Ortamında barındırdıysanız yükseltme döngüsünü özelleştirebilirsiniz. Yükseltmelerin iş yükünüz üzerindeki etkisini doğrulamanız gerekiyorsa, el ile yükseltmeleri etkinleştirin. Bu yaklaşım, üretim örneğinize uygulamadan önce üretim dışı bir örnekte doğrulama ve test gerçekleştirmenizi sağlar.
Bakım tercihleri hakkında daha fazla bilgi için App Service Environment planlı bakım yükseltme tercihleri bölümüne bakın.
Uygulama dağıtımlarına dayanıklılık
Uygulama dağıtımları, bir üretim ortamında sorun riski oluşturur. Sorunlara neden olan bir güncelleştirmeyi geri almak için hazırlıklı olmanız gerekir. Ayrıca, uygulama yeniden başlatmalarının kesintisini en aza indirmek için güncelleştirmelerin nasıl dağıtıldığından da denetleyebilirsiniz.
Esnek Tüketim planları, kesintisiz dağıtımlar için kademeli güncellemeler de dahil olmak üzere uygulama güncelleştirmelerinizi dağıtmanın birden çok yolunu sağlayan site güncelleştirme stratejilerini destekler.
Azure İşlevleri dağıtım yuvaları, işlev uygulamalarınızın sıfır kapalı kalma süresiyle dağıtım yapılmasına olanak tanır. Kullanıcılarınız için dağıtımların ve yapılandırma değişikliklerinin etkisini en aza indirmek için dağıtım yuvalarını kullanın. Dağıtım yuvaları, uygulamanızın yeniden başlatılması olasılığını da azaltır. Uygulamanın yeniden başlatılması geçici bir hataya neden olur.
Hizmet düzeyi sözleşmesi
Azure hizmetleri için hizmet düzeyi sözleşmesi (SLA), her hizmetin beklenen kullanılabilirliğini ve bu kullanılabilirlik beklentisini elde etmek için çözümünüzün karşılaması gereken koşulları açıklar. Daha fazla bilgi için bkz. Çevrimiçi hizmetler için SLA'lar.
Azure İşlevleri, Tüketim planı ve diğer plan türleri için farklı kullanılabilirlik SLA'ları sağlar.
İlgili içerik
- Azure İşlevleri için kullanılabilirlik alanlarını yapılandırma
- Azure Dayanıklı İşlevler'de olağanüstü durum kurtarma ve coğrafi dağıtım
- Azure Front Door oluşturma
- Event Hubs hata toleransı ile ilgili dikkat edilmesi gerekenler
- Azure Mimari Merkezi'nin kullanılabilirlik alanları kılavuzu
- Azure'da güvenilirlik