Dayanıklı Görev barındırma modelinizi seçin

Bu makale, barındırma platformunuza, ölçeklendirme gereksinimlerinize ve operasyonel gereksinimlerinize göre iki Dayanıklı Görev barındırma modeli (Dayanıklı İşlevler (Azure İşlevleri) ve standalone Dayanıklı Görev SDK'ları (şirket içinde barındırılan) arasında karar vermenize yardımcı olur.

Tip

Barındırma platformunuzu zaten biliyor musunuz? Hızlı bir yanıt için platform arama tablosuna atlayın.

Dayanıklı Görev nedir? bölümünde açıklandığı gibi Dayanıklı Görev iki barındırma modeli destekler:

Her iki barındırma modeli de aynı temel dayanıklı yürütme özelliklerini (düzenlemeler, etkinlikler, zamanlayıcılar, dış olaylar ve daha fazlası) sağlar, ancak uygulamanızın barındırılma, ölçeklendirilme ve dağıtılma biçiminde farklılık gösterir.

Genel olarak, uygulamanızın nerede çalıştırıldığı hangi barındırma modelini kullandığınızı belirler. Azure İşlevleri üzerinde çalışıyorsanız, Dayanıklı İşlevler kullanırsınız. Başka bir işlem platformunda geliştirme yapıyorsanız, bağımsız Durable Task SDK'larını kullanırsınız.

Barındırma platformuna göre seçim yapma

Uygulamanızın barındırma platformunu zaten biliyorsanız, aşağıdaki tablo hangi barındırma modelini kullanacağınızı belirlemenize yardımcı olabilir:

Barındırma platformu Barındırma modeli
Azure İşlevleri (Tüketim, Esnek Tüketim, Premium) Dayanıklı İşlevler
Azure Container Apps (Azure İşlevleri çalışma zamanı ile) Herhangi biri
Azure App Service (Azure İşlevleri çalışma zamanı ile) Herhangi biri
Azure Kubernetes Service (AKS) Tek Başına Dayanıklı Görev SDK'ları
Sanal makineler veya şirket içi Tek Başına Dayanıklı Görev SDK'ları

Uyarı

Azure App Service ve Azure Container Apps, tam yönetilen Azure İşlevleri tümleştirmesi aracılığıyla veya çalışma zamanını doğrudan dağıtarak Azure İşlevleri çalışma zamanını barındırabilir. Bu nedenle, her iki platform da barındırma modelini destekler. Azure İşlevleri barındırma modelleri hakkında daha fazla bilgi için bkz. Azure İşlevleri barındırma planları.

Barındırma modellerini karşılaştırma

Aşağıdaki tabloda, iki barındırma modeli arasındaki temel farklar özetlemektedir:

Dayanıklı İşlevler (Azure İşlevleri) (Dayanıklı Fonksiyonlar) Bağımsız Dayanıklı Görev SDK'ları (kendi kendine barındırılan)
Barındırma Azure İşlevleri (Tüketim, Esnek Tüketim, Premium), App Service ve Container Apps (İşlevler çalışma zamanı ile) Herhangi bir platform: Azure Container Apps, AKS, App Service, VM'ler, şirket içi
Ölçeklendirme Azure İşlevleri tarafından yönetilen otomatik ölçeklendirme altyapısı Ölçeklendirmeyi kendiniz yönetirsiniz veya platforma özel otomatik ölçeklendirmeyi kullanırsınız (örneğin, Kubernetes'te KEDA )
Tetikleyiciler HTTP, Kuyruk, Zamanlayıcı, Event Grid ve other Azure İşlevleri tetikleyicileri için yerleşik destek Kendi giriş noktalarınızı (örneğin, HTTP uç noktaları, ileti tüketicileri vb.) tanımlarsınız.
Durum depolama Durable Görev Zamanlayıcı (önerilir), Azure Depolama, MSSQL, Netherite Dayanıklı Görev Zamanlayıcı
Diller .NET (C#/F#), JavaScript/TypeScript, Python, Java, PowerShell .NET (C#/F#), JavaScript/TypeScript, Python, Java
Monitoring Azure portalı, Application Insights ile yerleşik tümleştirme Kendi izleme çözümünüzü ayarlarsınız (örneğin, Azure İzleyici, Prometheus veya Grafana)

Uyarı

Bir işlev uygulaması boşta kaldığında soğuk başlatma gerçekleşir. Premium ve Ayrılmış barındırma planları, soğuk başlatma gecikme süresini azaltmak için örnekleri sıcak tutar.

Flex Consumption barındırma planı, soğuk başlangıç sorununu azaltmak için "her zaman çalışmaya hazır örnekler" konsepti sunar.

Azure İşlevleri barındırma modelleri hakkında daha fazla bilgi edinin.

Yerleşik HTTP API'leri

Azure İşlevleri, Dayanıklı İşlevler uzantısının HTTP üzerinden örnek yönetimi için yerleşik destek sağlamak için yararlandığı işlev uygulamanız için HTTP uç noktaları sağlar.

Dayanıklı Görev SDK'larını kullanırken barındırma işleminiz bağlı olarak kendi HTTP uç noktalarınızı uygulamanız gerekir.

Özellik Dayanıklı İşlevler Dayanıklı Görev SDK'ları
Yönetim HTTP API'leri ✅ Yerleşik ❌ Kendi uygulamanızı uygulama
Otomatik durum URL'leri ✅ Yerleşik ❌ Kendi uygulamanızı uygulama

Dayanıklı İşlevler HTTP özellikleri

Dayanıklı İşlevler orkestrasyonları başlatmak, durumu sorgulamak, olayları tetiklemek ve örnekleri sonlandırmak için HTTP uç noktalarını otomatik olarak kullanıma sunar. Bu API'ler asenkron HTTP yoklama desenini kullanarak dış sistemlerle tümleştirmeyi kolaylaştırır.

Uyarı

Dayanıklı İşlevler, yerleşik HTTP API'lerini kullanmayı tercih ediyorsanız doğrudan DurableTaskClient sınıfını kullanmayı destekler.

Daha fazla bilgi edinin: Dayanıklı İşlevler'ta HTTP özellikleri | HTTP API referansı

Dayanıklı Görev SDK'ları yönetimi

Dayanıklı Görev SDK'ları ile, orkestrasyon örneklerini yönetmek için DurableTaskClient sınıfını doğrudan kullanırsınız. HTTP uç noktalarına ihtiyacınız varsa, tercih ettiğiniz web çerçevesini kullanarak bunları kendiniz uygularsınız.

Daha fazla bilgi edinin: Düzenleme örneklerini yönetme

Depolama arka uçları

Her iki barındırma modeli de Durable Task Scheduler — düzenleme durumu kalıcılığı ve yürütülmesi için tam olarak yönetilen bir Azure hizmeti (fiyatlandırma) kullanır. Dayanıklı İşlevler ayrıca kendi depolama arka uçlarını (Azure Depolama, MSSQL ve Netherite) destekler. Dayanıklı Görev SDK'ları özel olarak Dayanıklı Görev Zamanlayıcı'yı kullanır.

Daha fazla bilgi edinin: Depolama sağlayıcıları

Görev merkezi yapılandırması

Dayanıklı İşlevler host.json dosyasında görev hub'larını yapılandırıyor. Dayanıklı Görev SDK'ları, kod ve ortam değişkenlerinde (bağlantı dizesi/uç nokta) görev hub'larını yapılandırır.

Daha fazla bilgi edinin: Görev hub'ları

Tanılama ve sürüm oluşturma

Özellik Dayanıklı İşlevler Dayanıklı Görev SDK'ları
Dayanıklı Görev Zamanlayıcı panosu ✅ Evet ✅ Evet
Application Insights ✅ Yerleşik El ile kurulum
Kesinti süresiz kurulum ✅ Fonksiyon yuvaları Platforma özgü

Detaylı bilgi için: Tanılama | Sürüm Yönetimi

Her modelin ne zaman seçileceği

İki barındırma modeli arasında seçim yaparken aşağıdaki faktörleri göz önünde bulundurun:

"Dayanıklı İşlevler'ı seçin..." Bağımsız Dayanıklı Görev SDK'larını seçin...
Yerleşik Azure İşlevleri tetikleyicileri (HTTP, Kuyruk, Zamanlayıcı vb.) istiyorsunuz. Kapsayıcınız ve giriş noktaları üzerinde tam denetime sahip olmak istiyorsunuz.
Azure İşlevleri barındırma modelini zaten biliyorsunuz. Azure İşlevleri çalışma zamanı ek yükü olmadan basit bir SDK tercih ediyorsunuz.
Azure portalı tümleştirmesini işlev yönetimi için istiyorsunuz. Aynı kodun kapsayıcı platformları (AKS, App Service vb.) arasında taşınabilir olmasını istiyorsunuz.
Birden çok depolama arka ucu arasından seçim yapmanız gerekir. Tümleştirmeniz gereken İşlev dışı uygulama kodunuz var.
Sıfıra ölçeklendirilen sunucusuz, olay odaklı uygulamalara ihtiyacınız vardır. Soğuk başlatma gecikmesi olmadan kesintisiz çalışan, düşük gecikmeli iş yüklerine ihtiyacınız vardır.
Tüketim planıyla yürütme başına ödeme fiyatlandırması istiyorsunuz. Toplu işleme için iyileştirilmiş yüksek aktarım hızı senaryolarına ihtiyacınız vardır.
Bildirim temelli tetikleyiciler ve bağlamalarla hızlı prototip oluşturmanız gerekir. Kapsayıcılı veya Kubernetes uygulamalarınız var.

Migrasyon

zaten Dayanıklı İşlevler kullanıyorsanız ve kapsayıcı tabanlı bir dağıtıma geçmek veya Dayanıklı Görev SDK'larının barındırma esnekliğinden yararlanmak istiyorsanız geçiş basittir. Düzenleme kodu her iki çerçeve arasında çok benzerdir.

Ayrıntılı geçiş kılavuzu için bkz. Dayanıklı İşlevler'dan Dayanıklı Görev SDK'larına geçiş.

Uyarı

Durable Task Framework (DTFx): Durable Task Framework dayanıklı düzenleme için topluluk tarafından korunan, açık kaynak .NET kitaplığıdır. Dayanıklı İşlevler bağımlılığı olarak dahili olarak kullanılır, ancak resmi Microsoft desteğiyle birlikte gelmez. Yeni bir proje başlatıyorsanız, bunun yerine modern Dayanıklı Görev SDK'larını veya Dayanıklı İşlevler kullanın.

Sonraki Adımlar

Seçtiğiniz çerçeveyi kullanmaya başlayın:

Ardından Dayanıklı Görev Zamanlayıcı arka uç sağlayıcısı hakkında daha fazla bilgi edinin.