Olay odaklı mesajlaşma - Event-driven messaging

olay odaklı mesajlaşma bir tasarım deseni, içinde uygulandı hizmet odaklılık tasarım paradigması Bir hizmet sağlayıcının çevresinde meydana gelen olaylarla ilgilenen hizmet tüketicilerinin, geleneksel verimsizliğe başvurmadan, bu olayların meydana geldiği anda ve meydana geldiği anda bildirim almasını sağlamak yoklama tabanlı mekanizma.[1]

Gerekçe

Bir arasındaki etkileşim hizmet tüketicisi ve bir servis sağlayıcı normalde tarafından başlatılır hizmet tüketicisi hizmet tüketicisinin kendi sınırları içinde meydana gelen bir olaya yanıt vermesi gerektiğinden, örneğin Sonuçlarının bir hesaplamaya geri aktarılması gereken bir hesaplama yapmak için harici bir kaynaktan (yani servis sağlayıcı) bazı verilerin gerekli olması Kullanıcı arayüzü kullanıcı tarafından gerçekleştirilen bir eyleme yanıt olarak. Bununla birlikte, hizmet tüketicisinin, hizmet sağlayıcının kendi sınırları içinde bir olayın meydana gelmesini beklemesi gereken durumlar vardır. Bu koşullar altında, hizmet tüketicisinin bir şekilde olaydan ne zaman ve ne zaman olduğu konusunda bilgilendirilmesi gerekir. Bunun bir yolu, hizmet tüketicisini, olayın gerçekleşip gerçekleşmediğini kontrol edebilmesi için hizmet sağlayıcıyı düzenli aralıklarla sorgulamaya programlamaktır. Bu yaklaşım sadece verimsizliği değil, aynı zamanda davranışsal öngörülemezliği de gösterir. Verimsizlik, çünkü hizmet tüketicisi ve hizmet sağlayıcı verimsiz etkileşimler içindedir ve güvenilmezdir çünkü olay, hizmet tüketicisinin hizmet tüketicisini sorgulayamadan önce birden fazla kez gerçekleşmiş olabilir ve dolayısıyla önceki olayları ve bunlarla ilgili verileri kaçırabilir. Bu sorunların yanı sıra, böyle bir teknik, hizmet tüketicisinin yoklamayı gerçekleştirdiği aralık sabit olduğundan ve bu nedenle, olay gerçekte meydana geldiğinde değil, yalnızca o anda olay verilerini alacağından gecikmeyi de beraberinde getirir. Birden fazla hizmet tüketicisi belirli bir hizmet sağlayıcıya bağımlıysa, tüm bu senaryo daha da kötüleşir.

Bu sorunu çözmek için, olay odaklı mesajlaşma tasarım modeli, yayıncı-abone iletişim mekanizması Olayla ilgili verilerin hizmet tüketicisine zamanında bildirilmesini sağlayan,[2] böylece geleneksel sorgulamaya dayalı iletişim mekanizmasıyla bağlantılı verimsizlikleri ortadan kaldırır.

Kullanım

Diyagram A
Diyagram A
Belirli bir olayın meydana gelip gelmediğini bulmak için hizmet tüketicisi, hizmet sağlayıcıyı düzenli aralıklarla sorgular ve bu da verimsiz hizmet etkileşimlerine neden olur.
Diyagram B
Diyagram B
Etkinlik yöneticisi, belirli bir olayın meydana geldiği anda, ilgili tüm hizmet tüketicilerini otomatik olarak bilgilendirir.

Olay güdümlü mesajlaşma tasarım modelinin uygulanması, servis sağlayıcının olaylarını kaydettiği bir olay yöneticisi gerektirir. Hizmet tüketicileri daha sonra ilgilerini reklamı yapılan olayların bir kaçına veya tümüne kaydederler. Bir olayın meydana gelmesi üzerine, servis sağlayıcı olay yöneticisini bilgilendirir ve daha sonra tüm kayıtlı servis tüketicilerini anında bilgilendirir.[3] Bu iletişim mekanizması, köklerini Gözlemci deseni geleneksel olarak içinde uygulanır nesne odaklı dünya.[3] Bu tasarım deseni aynı zamanda bazı kavramları ödünç alır. Olay Odaklı Mimari çünkü bu tasarım modelinin arkasındaki temel mantık olaylara yanıt vermektir.[4]

Böyle bir yayıncı-abone bazlı iletişim mekanizmasının fiili uygulaması, böyle karmaşık bir mesaj izleme ve iletme mekanizması sağlamak için mimari uzantılar gerektirir. Olgun ESB ürün normalde bu tür işlevselliği sağlayabilmelidir. Bu modelin uygulanması, daha fazla ayrıştırmaya yardımcı olur[5] hizmet sağlayıcılardan hizmet tüketicileri ve bir hizmet bileşiminin genel güvenilirliğini arttırır.

Düşünceler

Bu modelin uygulanması, halihazırda mevcut değilse ekstra maliyete neden olacak ve bu nedenle BT bütçesini etkileyebilecek temel platform uzantılarının varlığına bağlıdır. Yayıncı-abone modelinin temel aldığı da unutulmamalıdır. asenkron mesajlaşma, böylece olay yöneticisinden bir mesajın iletimi herhangi bir zamanda gerçekleşebilir, bu, eğer olay yöneticisi bir olay bildirim mesajı yayınlarsa, hizmet tüketicisinin bunu almak için çevrimiçi olmasının gerekli olmadığı anlamına gelebilir. Dolayısıyla, bu tasarım modelinin uygulanması, kullanılamama sorunlarını çözmez. Bununla birlikte, bu, daha fazla uygulanarak ele alınabilir. asenkron kuyruklama[6] ve güvenilir mesajlaşma[7] iletilen bir mesajın her zaman hedeflenen alıcı tarafından alındı ​​mesajlarıyla birlikte alınmasını garanti eden tasarım modelleri.

Mimari uzantıların tanıtımı, mevcut hizmet envanteri mimarisini ve hizmet bileşimlerinin tasarlanma biçimini etkileyecek ve bu nedenle hizmet bileşimi mimarilerini de etkileyecektir.

Referanslar

  1. ^ Wajid Khattak, Vijay Narayanan.Olay Odaklı Mesajlaşma [Çevrimiçi]. Erişim tarihi: 27 Nisan 2010.
  2. ^ Mauro. et al. Servis Odaklı Cihaz Entegrasyonu - SOA Tasarım Modellerinin Bir Analizi. Arşivlendi 1 Şubat 2011 at WebCite [Çevrimiçi], ss.1–10, 2010 43rd Hawaii Uluslararası Sistem Bilimleri Konferansı, 2010. Erişim tarihi: 4 Nisan 2010.
  3. ^ a b Mauro vd. Standartlaştırılmış Cihaz Hizmetleri - Tıbbi Cihazların Servis Odaklı Entegrasyonu için Bir Tasarım Modeli [Çevrimiçi]. Erişim tarihi: 4 Nisan 2010.
  4. ^ Thomas Erl.SOA Tasarım Modellerine Giriş [Çevrimiçi]. Erişim tarihi: 4 Nisan 2010.
  5. ^ Kaplin Tipleri
  6. ^ Eşzamansız Sıraya Alma
  7. ^ Güvenilir Mesajlaşma
  • Erl ve diğerleri, (2009).SOA Tasarım Modelleri. Prentice Hall. ISBN  0-13-613516-1.
  • Michael Stal.Hizmet Odaklı Mimari İçin Mimari Kalıpları ve Planları Kullanma [Çevrimiçi]. Erişim tarihi: 1 Mayıs 2010.

Dış bağlantılar