Wolverine 6.52.0: adlandırılmış bağlantılar ve timer agent'lar
Wolverine 6.52.0, tüm transport'lar ve mesaj depoları için connection-string adıyla kayıt desteği, 15 dakikadan sık tekrarlanan zamanlamalar için timer agent'lar ve Wolverine 7.0 hazırlığını içeren bir özellik sürümü. Davranış değişiklikleri de var: sık zamanlamalar artık timer agent üzerinde çalışıyor ve eşlenemeyen giden zarflar dead-letter'a düşüyor. Mesajlaşma altyapısı kuran .NET geliştiricilerinin yükseltme öncesinde bilmesi gerekenler burada.
Kilit noktalar
- Transport ve mesaj depolarını bağlantı dizesi adıyla kaydetmek için adlandırılmış overload'lar eklendi.
- 15 dakikadan sık tekrarlanan zamanlamalar timer agent'a geçti; UseScheduledMessages() ile zamanlama bazında çıkılabilir.
- Azure Service Bus, SNS ve Kafka'da eşlenemeyen giden zarflar artık dead-letter'a düşüyor.
- MultipleHandlerBehavior.ClassicCombineIntoOneLogicalHandler [Obsolete] işaretlendi; varsayılan hâlâ bu.
- Dayanıklı outbox, kiracı veritabanı başına mağaza ve silme işlemlerini gruplar.
- DoThenRetry(action, maxAttempts) hata politikası hem inline hem kuyruktan çalışır.
Wolverine 6.52.0, mesajlaşma kütüphanesi için bir özellik sürümü. Öne çıkan değişiklik, transport ve mesaj depolarını Aspire tarzında bağlantı dizesi adıyla kaydetmenin mümkün olması. PostgreSQL, SQL Server, MySQL, SQLite ve Oracle için de aynı yaklaşım geçerli. Ayrıca 15 dakikadan sık çalışan tekrarlı zamanlamalar artık her zamanlama için ayrı bir timer agent üzerinde çalışıyor; bu davranıştan çıkmak için zamanlama bazında UseScheduledMessages() kullanılabilir.
Azure Service Bus, SNS ve Kafka'da eşlenemeyen giden zarflar artık gönderilmiş gibi raporlanmak yerine dead-letter'a alınıyor. Sürümde API kırıcı değişiklik yok, ancak Wolverine 7.0'ın handler başına tek zincir modeline geçişi için 6.x tarafında uyarılar ve [Obsolete] işaretlemeleri eklendi. Dayanıklı outbox'ta depolama ve silme işlemleri artık kiracı veritabanı bazında gruplanıyor.
Gerçek dünyada kullanımı
- Aspire ile birden fazla PostgreSQL veya SQL Server bağlantısını yöneten, mesaj deposunu bağlantı dizesi adıyla bağlayan servisler.
- Çok kiracılı SaaS uygulamasında bir kiracının yavaşlığının diğer kiracıların giden mesajlarını etkilemediği outbox kurulumları.
- Dakikada bir çalışan raporlama veya senkronizasyon zamanlamalarını timer agent ile yöneten arka plan işçileri.
Neden önemli
Azure Service Bus, SNS veya Kafka kullanan ekipler, eşlenemeyen mesajların artık sessizce kaybolmak yerine dead-letter'da görüneceğini ve izlenmesi gerektiğini bilmeli. Ayrıca sık zamanlamalar yeni agent üzerinde çalıştığı için yükseltmeden sonra davranışı doğrulamak faydalı olur.
Benzer haberler
- Critter Stack: mesaj kaybı, kapanış ve multi-tenancy düzeltmeleriJasperFx (Critter Stack) Blog3 gün önce
- CritterWatch 1.1 dead letter'ları hata nedenine göre gruplayıp tek işlem olarak yönetirJasperFx (Critter Stack) Blog4 gün önce
- Wolverine 6.51.3: durable inbox ve outbox sertleştirmesiWolverine releases23 Eki