İçeriğe atla
Şimdi yükleniyor
AKAşkın KILIÇ
  • Anasayfa
  • Azure & Bulut
    • Microsoft Azure
    • Bulut Altyapı
    • Microsoft 365
  • Yazılım
    • DevOps
    • Geliştirici Araçları
    • Konteyner & K8s
  • AI & Veri
    • Yapay Zeka
    • Veri & Analitik
  • Güvenlik
    • Güvenlik & Kimlik
    • Kurumsal Teknoloji
  • Hakkımda
    • İletişim
×
  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka
  • Başlangıç
  • DevOps
  • Service Bus Batch İşlemede Mesaj Bazlı Settlement Devrimi
Bulut Altyapı DevOps Geliştirici Araçları Azure Functions, Azure Service Bus, batch işleme, idempotency, message settlement, retry stratejisi, zehirli mesaj Aşkın KILIÇ 29/04/2026 2 Yorumlar

Service Bus Batch İşlemede Mesaj Bazlı Settlement Devrimi

Service Bus Batch İşlemede Mesaj Bazlı Settlement Devrimi
⏱️ 8 dk okuma📅 29 Nisan 2026🔄 Güncelleme: 15 Temmuz 2026

Ne yalan söyleyeyim, Bir finans müşterisinde geçen ay yaşadığımız olay tam olarak şuydu: Azure Functions üzerinde Service Bus trigger’ı batch modda çalışıyordu, 50 mesajlık bir batch geliyordu ve içinden bir tanesi — sadece bir tanesi — bozuk formatlı olduğu için tüm batch başarısız oluyordu. 49 mesaj tekrar kuyruğa düşüyordu. Sonra yine işleniyordu. Sonra aynı bozuk mesaj tekrar geliyordu. Döngü başa sarıyordu. Peki bunu neden söylüyorum? Kısacası, sınır bozucu bir kısır döngüydü.

📋 İçindekiler

  1. E sonra? Ek Altyapı Kurmadan Retry Takibi Yapabiliyorsunuz

    Ama şu küçük detay baya önemli: abandon yaparken application properties’i değiştirebilmeniz güzel çalışıyor.
    RetryCount gibi bir property ekleyip her abandon’da artırabiliyorsunuz; sonra fonksiyonun başında bu değeri kontrol edip mesela 5’ten fazla retry olan mesajı direkt dead-letter’a gönderebiliyorsunuz.

    Mesaj bazlı settlement ile exponential backoff, retry tracking ve poison message handling’i tek bir Function içinde ek altyapıya gerek kalmadan yapabilirsiniz.
    Bu da serverless mesaj işlemenin nihayet düzgün davranması demek.

    Saha Tarafında Bu İş Nasıl Dürüyor?

    Peki Türkiye’deki kurumsal yapılarda durum nasıl? Hmm… açıkçası global dokümantasyonda okuduğunuz kadar pürüzsüz gitmiyor her zaman. Daha fazla bilgi için

    Maliyet tarafını da unutmayın.
    Batch mode + per-message settlement kullandığınızda Function invocation sayısı düşüyor çünkü aynı anda çok kayıt işliyorsunuz — valla güzel iş çıkarmışlar —. Her kayıt için ayrı settlement API çağrısı yapıyorsunuz.
    Çok yüksek throughput senaryolarında — saniyede binlerce ileti gibi — bunun maliyetini hesaba katmak lazım.
    Küçük-orta ölçekte pek hissettirmez ama günde milyonlarca ileti varsa TL bazında fark yaratabilir.
    Neyse uzatmayayım; nokta net zaten.

    Böyle event-driven yapılarda agent’lar arası iletişim de ayrı mesele tabiî.
    Farklı platformlardaki agent’ların haberleşmesi gerekiyorsa,
    A2A v1 ile.NET’te Çapraz Platform Agent İletişimi
    // kod değil tabiî :)
    yazımda bunu ayrıca anlatmıştım.
    Sız ne dersiniz?

    Python ve JavaScript Tarafında Ne Oluyor?

    Yanı, This özellik sadece.NET’e özel değil;
    Python. JavaScript/TypeScript tarafında da kullanılabiliyor.
    Ama burada küçük bir not düşeyim: her dil SDK’sının olgunluk seviyesi aynı değil,
    yanı görünürde benzer duran şeylerin altında ufak farklar çıkabiliyor.

    .NET tarafı en oturmuş olan kısım gibi dürüyor;
    settlement aksiyonları temiz ilerliyor,
    daha tip güvenli diyelim doğrudan type-safe demeyeyim...

    Sıkça Sorulan Sorular

    Per-message settlement için Azure Functions’ın hangi versiyonu lazım?

    Isolated worker model (out-of-process) kullanıyorsanız.NET için Microsoft.Azure.Functions.Worker.Extensions.ServiceBus 5.x veya üzeri gerekiyor. In-process model’de de destekleniyor aslında, (yanlış duymadınız). Microsoft yeni projelerde isolated model’i önerdiğini söylüyor — bunu aklınızın bir köşesinde tutun. Python ve Node.js için de en güncel extension bundle’ları kullanmanız yeterli.

    Dead-letter kuyruğundaki mesajları otomatik tekrar işleyebilir mıyım?

    Evet, dead-letter kuyruğuna ayrı bir Function trigger bağlayabilirsiniz. Ama bence bunu hemen otomatikleştirmek yerine, önce mesajın neden dead-letter’a düştüğünü analiz eden bir mekanizma kurmanız çok daha mantıklı. Sız hiç denediniz mi? Yoksa aynı bozuk mesajı sürekli tekrar işlemeye çalışırsınız — yanı tam da kaçınmak istediğimiz o kısır döngüye girmiş olursunuz.

    Batch mode’da maxMessageCount’u ne kadar yüksek tutmalıyım?

    Dürüst olmak gerekirse, Bu tamamen iş yükünüze bağlı. Tecrübeme göre 16-32 arasında başlayıp monitöring verilerine göre ayarlamak en sağlıklısı. Çok yüksek tutarsanız (belki yanılıyorum ama) — mesela 100+ gibi — lock timeout sorunları yaşayabilirsiniz, hani tüm mesajları işlemeniz lock süresi içinde bitmeyebilir. Çok düşük tutarsanız da batch kullanmanın avantajını kaybedersiniz zaten.

    Per-message settlement kullanıyorsam idempotency’ye hâlâ ihtiyaç var mı?

    Kısa cevap: evet, ama çok daha az. Complete edilen mesajlar kuyruktan siliniyor, yanı normal akışta duplicate gelmiyor. Açıkçası nadir bir senaryo, ama network partition gibi durumlarda mesaj complete edilmiş olsa bile SDK tarafında onay alınamayıp tekrar işlenebiliyor. Bu yüzden kritik iş süreçlerinde yine de temel seviyede bir idempotency koruması bulundurun.

    Peki neden?

    Managed Identity ile per-message settlement çalışıyor mu?

    Evet, çalışıyor. Ama connection string yerine managed identity kullanıyorsanız, Service Bus namespace’ine doğru RBAC rollerini atadığınızdan emin olun. En azından “Azure Service Bus Data Receiver” rolü gerekiyor — settlement işlemleri için de bu rol ya da “Azure Service Bus Data Owner” yeterli oluyor.

    Kaynaklar ve İleri Okuma

    Azure Functions Service Bus Trigger — Resmî Dokümantasyon

    Per-message Settlement in Azure Service Bus — Azure SDK Blog

    Azure Service Bus Message Sessions ve Settlement — Microsoft Learn

    🤖Bu yazı yapay zeka (büyük dil modelleri) ile hazırlanmış, insan editör tarafından incelenmiştir. İçerik üretim sürecimiz.
    Aşkın KILIÇ
    Aşkın KILIÇYazar

    20+ yıl deneyimli Azure Solutions Architect. Microsoft sertifikalı bulut mimari ve DevOps danışmanı. Azure, yapay zekâ ve bulut teknolojileri üzerine Türkçe teknik içerikler üretiyor.

    AZ-305AZ-104AZ-500AZ-400DP-203AI-102

    İlgili Yazılar

    Azure App Service Linux'ta Deferred Kudu Recycle ile
    Azure App Service Linux'ta Deferred Kudu Recycle ile10 Ağu 2026
    GitHub Copilot weekly releases — August 31
    GitHub Copilot weekly releases — August 314 Eyl 2026
    GitHub Copilot Modernize 101: Kodun Yorgunluğunu Kırmanın Yeni Yolu
    GitHub Copilot Modernize 101: Kodun Yorgunluğunu Kırmanın Yeni Yolu7 May 2026
    Copilot Memory’de Yeni Kontrol Dalgası: Silme, Kapsam ve CLI
    Copilot Memory’de Yeni Kontrol Dalgası: Silme, Kapsam ve CLI28 May 2026

    Bu içerik işinize yaradı mı?

    Benzer içerikleri kaçırmamak için YouTube ve GitHub hesaplarımı takip edin.

    YouTube GitHub

    Haftalık Bülten

    Her pazar özenle seçilmiş teknoloji yazıları doğrudan e-postanıza gelsin.

Etiket Azure Functions Azure Service Bus batch işleme idempotency message settlement retry stratejisi zehirli mesaj
Önceki yazı

A2A v1 ile .NET’te Çapraz Platform Agent İletişimi

Sonraki yazı

Gateway API v1.5: Altı Özellik Stable Oldu, Ne Değişiyor?

İlginizi Çekebilir

Azure DevOps Server Eylül Yamaları İçin Kurulum Rehberi
Aşkın KILIÇ 0

Azure DevOps Server Eylül Yamaları İçin Kurulum Rehberi

11/09/2026
GitHub Pull Request Sayfası Yenilendi: Yeni Filtreler
Aşkın KILIÇ 0

GitHub Pull Request Sayfası Yenilendi: Yeni Filtreler

11/09/2026
GitHub Copilot App’te Kod Değişikliklerini İnceleme
Aşkın KILIÇ 0

GitHub Copilot App’te Kod Değişikliklerini İnceleme

11/09/2026

2 comments

comments user
Merve Ş. 29/04/2026 18:02

Tam da geçen hafta bu sorunla boğuştuğum için yazı çok yerinde geldi. Batch içinde bir mesaj patladığında başarılı olanların da tekrar işlenmesi gerçekten can sıkıcı bir durum, mesaj bazlı settlement ile çözüm mantıklı görünüyor. Bu arada şu yazınız da güzeldi: GPT-5.5 ve Microsoft Foundry: Kurumsal AI Artık Ciddi — https://www.askinkilic.com.tr/gpt-55-ve-microsoft-foundry-kurumsal-ai-artik-ciddi/

comments user
Cenk B. 29/04/2026 23:43

Bunu acı tecrübeyle öğrendim, production’da bir mesaj yüzünden tüm batch’in tekrar işlenmesi ciddi sorun yaratıyor. Mesaj bazlı settlement’a geçince gerçekten fark yaratıyor mu peki, latency açısından bir etkisi oluyor mu?

Yorumlar kapalı.

Yazı Ara

Takip Edin

  • Takipçi
  • Takipçi
  • Takipçi
  • Abone
  • Takipçi
  • Azure DevOps Server Eylül Yamaları İçin Kurulum Rehberi
    11/09/2026 Azure DevOps Server Eylül Yamaları İçin Kurulum Rehberi
  • GitHub Pull Request Sayfası Yenilendi: Yeni Filtreler
    11/09/2026 GitHub Pull Request Sayfası Yenilendi: Yeni Filtreler
  • ChatGPT Work'te Veri Ajanı ile Veri Analizi
    11/09/2026 ChatGPT Work’te Veri Ajanı ile Veri Analizi
  • GitHub Copilot App’te Kod Değişikliklerini İnceleme
    11/09/2026 GitHub Copilot App’te Kod Değişikliklerini İnceleme
  • ASP.NET Core’da Union ve Closed Hiyerarşi Kullanımı
    10/09/2026 ASP.NET Core’da Union ve Closed Hiyerarşi Kullanımı
  • Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
    11/04/2026 Copilot Cloud Agent Metriği: Kullanımı Ölçmek Kolaylaştı
  • GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
    07/04/2026 GitHub Code Scanning’de Toplu Düzeltme: PR’lar Hızlandı
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
    03/04/2026 GitHub Copilot Cloud Agent İçin Runner Kontrolü: Kurumsal Düzen
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • GitHub Copilot Pro Denemeleri Neden Durdu?
    11/04/2026 GitHub Copilot Pro Denemeleri Neden Durduruldu?
  • vcpkg'de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
    06/04/2026 vcpkg’de Paralel Kurulum ve Güvenlik Yaması: Neler Değişti?
  • MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
    08/04/2026 MCP Apps’i Kolaylaştıran Fluent API: Sahada Ne Değişiyor?
  • Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
    06/04/2026 Yapay Zekâ Çağında Sanayi Politikası: Asıl Mesela Ne?
  • Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler
    10/04/2026 Microsoft Foundry Mart 2026: Sahadan İlk İzlenimler

SİZİN İÇİN DERLEDİK

Azure DevOps Server Eylül Yamaları İçin Kurulum Rehberi
Bulut Altyapı DevOps

Azure DevOps Server Eylül Yamaları İçin Kurulum Rehberi

11/09/2026 Aşkın KILIÇ
GitHub Pull Request Sayfası Yenilendi: Yeni Filtreler
Geliştirici Araçları

GitHub Pull Request Sayfası Yenilendi: Yeni Filtreler

11/09/2026 Aşkın KILIÇ
ChatGPT Work'te Veri Ajanı ile Veri Analizi
Kurumsal Teknoloji Microsoft Azure Yapay Zeka

ChatGPT Work’te Veri Ajanı ile Veri Analizi

11/09/2026 Aşkın KILIÇ
GitHub Copilot App’te Kod Değişikliklerini İnceleme
Geliştirici Araçları Yapay Zeka

GitHub Copilot App’te Kod Değişikliklerini İnceleme

11/09/2026 Aşkın KILIÇ
ASP.NET Core’da Union ve Closed Hiyerarşi Kullanımı
Bulut Altyapı Yapay Zeka

ASP.NET Core’da Union ve Closed Hiyerarşi Kullanımı

10/09/2026 Aşkın KILIÇ
GitHub Copilot Agent İşlemlerinde Kurumsal İzin Yönetimi
Geliştirici Araçları Güvenlik & Kimlik Kurumsal Teknoloji

GitHub Copilot Agent İşlemlerinde Kurumsal İzin Yönetimi

10/09/2026 Aşkın KILIÇ
GitHub Ağustos 2026 Kullanılabilirlik Raporunu Yayımladı
Bulut Altyapı DevOps Güvenlik & Kimlik Yapay Zeka

GitHub Ağustos 2026 Kullanılabilirlik Raporunu Yayımladı

10/09/2026 Aşkın KILIÇ
Kubernetes v1.37 ile Node Lifecycle Conditions dönemi
DevOps Konteyner & Kubernetes

Kubernetes v1.37 ile Node Lifecycle Conditions dönemi

10/09/2026 Aşkın KILIÇ
GitHub Advanced Security Deneme Erişimini Genişletti
Bulut Altyapı Güvenlik & Kimlik

GitHub Advanced Security Deneme Erişimini Genişletti

09/09/2026 Aşkın KILIÇ
Kubernetes v1.36’da Askıya Alınan Job Kaynakları Değişiyor
DevOps Konteyner & Kubernetes Kurumsal Teknoloji

Kubernetes v1.36’da Askıya Alınan Job Kaynakları Değişiyor

09/09/2026 Aşkın KILIÇ
OpenAI, Gazeteciliğe Sınıftan Haber Merkezine Destek Veriyor
Bulut Altyapı Kurumsal Teknoloji Yapay Zeka

OpenAI, Gazeteciliğe Sınıftan Haber Merkezine Destek Veriyor

09/09/2026 Aşkın KILIÇ
.NET 11 RC1 Yayında: Öne Çıkan Yenilikler
Bulut Altyapı Geliştirici Araçları Yapay Zeka

.NET 11 RC1 Yayında: Öne Çıkan Yenilikler

09/09/2026 Aşkın KILIÇ

Hakkımda

Aşkın KILIÇ

Microsoft Azure Çözüm Uzmanı. Bulut bilişim, yapay zekâ, DevOps ve kurumsal güvenlik üzerine yazılar yazıyorum.

Devamını Oku →

Kategoriler

  • Azure
  • Bulut Altyapı
  • DevOps
  • Geliştirici Araçları
  • Güvenlik & Kimlik
  • Konteyner & Kubernetes
  • Kurumsal Teknoloji
  • Microsoft 365
  • Microsoft Azure
  • Veri & Analitik
  • Yapay Zeka

Popüler Etiketler

AI ajanları ASP.NET Core Azure azure app service Azure Cosmos DB Azure Developer CLI Azure DevOps azure sdk Azure SQL bulut bilişim C++ CI/CD CodeQL code review copilot Copilot CLI DevOps geliştirici verimliliği GitHub GitHub Actions GitHub Copilot güvenlik Kimlik Doğrulama Kubernetes Kurumsal geliştirme kurumsal güvenlik kurumsal yapay zeka maliyet optimizasyonu MCP Microsoft Agent Framework Microsoft Azure Microsoft Foundry otomasyon performans Pull Request RAG SEO uyumlu verimlilik veri yönetimi Visual Studio Visual Studio 2026 VS Code yapay zeka yapay zeka ajanları Yazılım geliştirme
  • Gizlilik Politikası
  • Çerez Politikası
  • Kullanım Koşulları
  • Hakkımda
  • İletişim

© 2026 Aşkın KILIÇ | Tüm hakları saklıdır. | Powered By SpiceThemes

Çerez tercihleri Zorunlu çerezler sitenin çalışması için kullanılır. Analitik çerezler yalnız açık izninizden sonra Google Analytics ve Microsoft Clarity için etkinleştirilir. KVKK ve Çerez Politikası
✉

Haftalık Bülten

Azure, DevOps ve Yapay Zeka dünyasındaki en güncel içerikleri her hafta doğrudan e-postanıza alın.

Spam yok. İstediğiniz zaman iptal edebilirsiniz.
📱
Uygulamayı Yükle Ana ekrana ekle, çevrimdışı oku
Ana Sayfa
Kategoriler
💻 Geliştirici Araçları 432 yazı 🏗️ Bulut Altyapı 345 yazı 🤖 Yapay Zeka 289 yazı 🔧 DevOps 242 yazı ☁️ Microsoft Azure 231 yazı 🔒 Güvenlik & Kimlik 199 yazı 🏢 Kurumsal Teknoloji 83 yazı 📊 Veri & Analitik 62 yazı 🐳 Konteyner & Kubernetes 53 yazı 📧 Microsoft 365 22 yazı 📁 Azure 1 yazı
Ara
Popüler
Yapay Zeka Azure Kubernetes DevOps Copilot Docker
Paylaş
WhatsApp
İçindekiler
    ← A2A v1 ile .NET’te Çapra...
    Gateway API v1.5: Altı Özellik... →
    📩

    Gitmeden önce!

    Her pazar özenle seçilmiş teknoloji yazıları ve AI haberleri doğrudan e-postanıza gelsin. Ücretsiz, spam yok.

    🔒 Bilgileriniz güvende. İstediğiniz zaman ayrılabilirsiniz.

    📬 Haftalık bülten: Teknoloji + AI haberleri
    Beni Takip Et Yeni Azure / AI / DevOps yazılarını GitHub ve RSS üzerinden takip edin.
    GitHub RSS