5

E-postayı görüntülemekten veya günlük dosyalarını denetlemekten daha kolay işleyen, altyapımızdaki sistemlerden oluşturulan istisnaları bildirmek için zarif bir çözüm bulmaya çalışıyoruz. Bir hizmet veri yolu üzerindeki yayınlama/abone modeli, bu sorunu oldukça düzgün bir şekilde çözer. Hizmetler hataları/olayları yayınlayacak ve bir alt öğe bu mesajları basit desen eşleştirmesi kullanarak filtreleyebilir.NServiceBus Yayımla/Abone Ol

Biz NServiceBus projesini soruşturma oldum ve bunu izleyen iki senaryoyu çözmedi fark o PubSub numunesi (http://docs.particular.net/samples/pubsub/) bakarak, bizim gereksinimleri elde sormuşlardır olsun: Tüm yayıncılar yayımlamak

  1. aynı mesaj tipi
  2. abone

Biz bu şartları elde etmeyi başardık yayıncı uç noktaları bilgisi gerektirmeyen, ama biz yapılandırma cor konusunda emin rect. Tüm yayıncıların belgeler http://docs.particular.net/nservicebus/messaging/publish-subscribe/

  • Tüm yayıncılar/aboneler arasında Abonelik Depolama bölümünde açıklandığı gibi paylaşılan veri tabanıdır aynı abonelik depolama yapılandırması (DBSubscriptionStorage), paylaşan

    1. : Aşağıdaki bizim çözümleridir nservicebus web sitesinde bulunan belgelerde açıklandığı şekilde bir dağıtıcı kullanacak şekilde yapılandırılmıştır.

    Biz bu/yayımlamak modeli abone veya bizim amaçlarına ulaşmak istiyorum başka bir çözüm olabilir olsun NServiceBus doğru uygulanması olup olmadığını bilmek istiyorum?

  • cevap

    2

    Bu burada tartışma grubuna tartışıldı:

    http://nservicebus.grouply.com/message/7059

    Kısacası, göndermek her düğüm olurdu yerine bir tek son nokta yayımlamak.

    Bu yardımcı olur umarım.

    +0

    Cevabınız için teşekkür ederiz, IBus.Publish ve IBus.Send arasındaki temel fark nedir? – Matt

    +0

    Hata senaryomuzu bir dakikalığına göz ardı ederek, bir grup hizmetin işledikleri siparişlerin bildirimlerini yayınladığı bir sipariş işleme sistemini düşünün. Birden fazla yayıncıdan aynı sipariş bildirimi mesajını birden fazla aboneye yayınlayacak olsaydık, abonelik depolamayı paylaşmak doğru uygulama olur. Abonelerimiz mesajımıza abone olduklarından, abonelikler paylaşılan depoya eklenir ve söz konusu iletinin tüm yayıncıları abonelerimize yayın yapmaya başlar. Bu işe yarıyor gibi görünüyor, ama bu doğru mu? – Matt

    +3

    Matt - Birden çok * mantıksal * yayınlama hizmeti ile çoklu * fiziksel * yayınlama düğümleri fikrini birleştiriyorsunuz.NServiceBus, tek bir mantıksal yayınlama hizmetini zorlar ancak bu hizmette istediğiniz sayıda fiziksel düğüm olmasını sağlar (üretim profilinde otomatik olarak ayarlanır, bunu DbSubscriptionStorage öğesini kullanmanız gerekir). Ayrıca, IBus.Publish, * zaten * olan olayları iletmek için kullanılırken, Gönder, olmasını istediğimiz bir şey istemek için kullanılır (ancak reddedilebilir). Etkinlikler reddedilemez (zaten gerçekleştiği gibi). –

    0

    Windows olay günlüğüne ileti yazabilir ve günlüklerdeki hataları/uyarıları izlemek için OpManger gibi bir araç kullanabilirsiniz.

    Ek avantajlar OpManager işlemlerini izleyebilir, ağ bağlantı noktalarını diğer hataları algılayabilmenizi sağlar. Ayrıca e-posta uyarılarını destekler ve güzel bir WebUI'ye sahiptir.

    İlgili konular