Dayanıklı Görev nedir?

Dayanıklı Görev, Microsoft'un hataya dayanıklı iş akışları ve düzenlemelerini normal kod olarak oluşturmaya yönelik dayanıklı yürütme çerçevesidir. Karmaşık yeniden deneme mantığını, durum makinelerini veya ileti kuyruklarını yönetmek yerine iş mantığınızı basit işlevler olarak yazarsınız; Dayanıklı Görev durum kalıcılığını, otomatik kurtarmayı ve dağıtılmış koordinasyonu sizin için işler.

Dayanıklı Görev iş akışları, bir çökme, yeniden başlatma veya yeniden dağıtım işleminin ardından, tamamlanan son adımdan güvenilir bir şekilde devam ederek saatlerce, günlerce veya hatta aylarca çalışabilir. Yaygın kullanım örnekleri arasında dağıtılmış işlemler, çok aracılı yapay zeka düzenlemesi, veri işleme işlem hatları ve altyapı yönetimi yer alır.

Kalıcı Görev aşağıdakileri kapsar:

Uyarı

Dayanıklı yürütme , ilerleme durumunu otomatik olarak kalıcı hale getirerek sıradan kodu hataya dayanıklı hale getirmek için sektör genelinde bir yaklaşımdır. Dayanıklı Görev, Microsoft dayanıklı yürütme uygulamasıdır.

Önemli Dayanıklı Görev kullanım örnekleri

Uygulamanız dağıtılmış hizmetler arasında güvenilir, uzun süre çalışan iş akışı düzenlemesi gerektirdiğinde Dayanıklı Görev'i kullanın. Yaygın senaryolar şunlardır:

  • Uzun süre çalışan işlemler: Dayanıklı Görev, kesintiler veya hatalar karşısında bile uzun süre çalışan işlemlerin durumunu ve ilerleme durumunu yönetebilir. Örnek olarak sipariş işleme, veri işlem hatları, makine öğrenmesi modeli eğitimi ve uzun süre çalışan simülasyonlar verilebilir.
  • Paralel ve fan-out/fan-in senaryoları: Dayanıklı Görev, farklı makinelerde paralel olarak çalışan birden çok çalışan arasında çalışan çalışmayı koordine edebilir ve ardından sonuçları bir araya toplayabilir. Örnek olarak görüntü işleme, harita azaltma işleri ve ETL iş akışları verilebilir.
  • Mikro hizmetleri ve API'leri düzenleme: Dayanıklı Görev, karmaşık denetim akışı ve hata işleme ile dağıtılmış hizmetler, API'ler ve makineler arasında çalışmayı koordine edebilir. Dayanıklı İş, saga deseni kullanarak dağıtılmış işlemleri uygulama imkanı da sağlar; burada, her adım, sonraki bir adım başarısız olduğunda otomatik olarak çalışan telafi edici bir mantığa sahiptir.
  • İş süreci otomasyonu: Dayanıklı Görev, uzun süreler boyunca birden çok adım, bağımlılık, döngüde insan ve hata işleme içeren karmaşık, belirlenimci iş süreçlerini otomatikleştirebilir. Örnek olarak tedarik zinciri yönetimi, belge incelemesi, müşteri ekleme ve kimlik doğrulaması verilebilir.
  • Altyapı otomasyonu: Dayanıklı Görev, karmaşık bağımlılıklar ve hata işleme ile altyapı sağlama, yapılandırma ve dağıtımı yönetebilir. Örnek olarak bulut kaynak yönetimi ve CI/CD işlem hatları verilebilir.
  • Çok aracılı düzenleme: Dayanıklı Görev, birden çok yapay zeka aracısı tarafından gerçekleştirilen işleri koordine ederek uzun ufuklarda güvenilir göreve bağlı kalma ve karmaşık, çok adımlı yapay zeka işlemleri için verimli belirteç kullanımı sağlayabilir. Ayrıntılı araştırma, kodlama ve müşteri desteği için yapay zeka aracıları örnek olarak verilebilir.

Bu senaryoların yaygın temalarından biri, geçici kodla güvenilir bir şekilde yönetilemeyecek kadar karmaşık, çok uzun süre çalışan veya çok dağıtılmış bir çalışma içermeleridir. Dayanıklı Görev, temel garantileri - kalıcılık, hataya dayanma ve durum bilgili koordinasyon - sağlayarak bu çalışmayı basit bir kod olarak ifade etmenizi sağlar.

Desteklenen diller ve Dayanıklı Görev barındırma modelleri

Dayanıklı Görev, iki barındırma modeli arasında birden çok programlama dilini destekler: Azure Functions (Durable Functions uzantısı aracılığıyla) ve self-hosted (tek başına Dayanıklı Görev SDK'ları aracılığıyla). Azure Functions barındırma modeli yerleşik ölçeklendirme ve düzenleme özelliklerine sahip tam olarak yönetilen, sunucusuz bir işlem ortamı sağlarken, self-hosted modeli, Azure Container Apps gibi istediğiniz herhangi bir işlem platformunda dayanıklı uygulamalar çalıştırmanıza olanak tanır. Azure Kubernetes Service, Azure App Service veya sanal makineler.

Language Azure Functions Kendi sunucusunda barındırılan
.NET (C#/F#)
JavaScript/TypeScript
Python
Java
PowerShell

Uyarı

Go , şirket içinde barındırılan senaryolar için topluluk tarafından desteklenen, açık kaynak SDK olarak da kullanılabilir, ancak şu anda deneysel aşamalardadır ve henüz üretim kullanımı için önerilmez.

Azure Functions ve şirket içinde barındırılanlar arasında seçim yapma konusunda rehberlik için bkz. Barındırma modelinizi belirleme.

Mimari bileşenler

Dayanıklı Görevin iki ana katmanı vardır: uygulama kodunuzda kullandığınız bir SDK ve durumu yöneten bir durum depolama arka ucu .

Dayanıklı Görev SDK'sı

Dayanıklı Görev SDK'sı, uygulama kodunuzda orkestrasyonlar, etkinlikler ve varlıkları oluşturmak için kullandığınız araçtır. Dayanıklı yürütme mekaniğiyle dahili olarak ilgilenir: orkestratör işlevlerini yeniden yürütme, yerel yürütme bağlamını yönetme ve durum depolama arka uç deposu ile iletişim kurma. Dayanıklı Görev, daha önce bahsedilen farklı diller ve barındırma modelleri için çeşitli SDK seçenekleri sunar.

Bu seçenekler arasında seçim yapma konusunda rehberlik için bkz. Barındırma modelinizi seçme.

Durum depolama arka uç

Durum depolama altyapısı, düzenleme durumunu kalıcı hale getirme, yürütme geçmişini koruma ve işlem örnekleri arasında dağıtılmış ölçek büyütmeyi koordine etme sorumluluğundadır.

Önerilen durum depolama seçeneği Durable Task Scheduler şeklindedir. Dayanıklı Görev iş yükleri için tamamen yönetilen bir Azure hizmeti amaca yönelik olarak oluşturulmuş ve yüksek oranda iyileştirilmiş bir hizmettir. Hem Durable Functions hem de tek başına Dayanıklı Görev SDK'larıyla çalışır ve yönetecek depolama altyapısı olmayan en zengin özellik kümesini sağlar.

Alternatif olarak, Durable Functions çeşitli bring-your-own (BYO) depolama seçeneklerini destekler. Bunlar size durumun nerede depolandığı üzerinde daha fazla denetim sağlar, ancak temel altyapıyı kendiniz sağlamanızı ve yönetmenizi gerektirir. BYO depolama arka uçları şu anda yalnızca Durable Functions ile kullanılabilir.

Depolama seçenekleri hakkında daha fazla bilgi için bkz . Depolama sağlayıcıları.

Ekstra Dayanıklı Görev kaynakları

Araştırma yayınları

Dayanıklı Görev, Microsoft Research ile işbirliği içinde geliştirilmiştir. Sonuç olarak ekip, aşağıdakiler dahil olmak üzere araştırma makalelerini ve yapıtları aktif olarak üretir:

Genel bakış videosu

Aşağıdaki videoda Azure Durable Functions avantajları vurgulanmaktadır:

Sonraki Adımlar