2015-10-01 15 views
6

Bu en yakın önceki soru: Azure Service Bus Subscription OnMessage not receiving messages.azure hizmet veri yolu tüm iletileri alma (sadece ~ 65%)

Aynı şey benim için de geçerli. Konunun adını değiştirdiğimde bir süre daha çalışır. Sonra servis otobüsü konusu tekrar bozuk. Gelen mesajların sadece% 65-71'si. Aboneliği veya konuyu silmenize yardımcı olmaz. Bir süre sonra konu adı bir şekilde kirlenmiş gibi görünüyor. Gerçekten çok kötüydü, çünkü konu bozuk olduğunda, sistemin gelmediği durumlar gibi sistemin çalışmaması dışında bir yol göstermenin bir yolu yok. Şimdi rastgele yeni bir isim ile yeni bir konu oluşturma ve sonra tamamen kötü bir çözüm gibi görünüyor.

Tek bir işlemde bir döngüyü test ediyorum, iletileri gönderiyor, sonra başka bir işlemde bir döngü alıyor, alıyor ve sayıyor. Yeni bir konu adı ile mükemmel çalışır. Ve biliyorum ki, aboneliğe sadece bir tane dinleyicim var ve bir gözetleme kilidi, mesajın tamamlanmasını gerektiriyor.

Herkes? Bunu Nasıl Çözebilirim?

GÜNCELLEME: Burada bir buluntu var. Bir abonelik oluşturdum ve onunla bağlantı kurdum; 1 konu oluşturuldu ve otobüs 10 kez yeniden oluşturuldu, her seferinde 100 msg gönderiliyor. Msg yok. 1 abonelik oluşturdum ve veri yolu yeniden oluşturulduğunda ve 100 msg gönderildiğinde her zaman yeni bir abonelik oluşturuldu. Msjlerin% 50'sini kaybetmek. Önceki abonelik süresinin farkında olan konu gibi görünüyor ve msj'ler ikiye ayrılıyor?

YENİ SORULAR: Başım ağrıyor. Aynı abonelik adıyla yeni bir abonelik istemcisinin oluşturulmasına yol açan, sürecin yeniden başlatılmasının, konunun birinci ve ikinci abonelik istemcisi arasındaki iletiyi ilk sırada olmasa bile iletmesini sağlayabileceğini herkes onaylayabilir mi? Abonelik modülümü yeniden başlatarak, yani konu olup olmadığını kontrol etme, abonelik varsa ve daha sonra abonelik istemcisi oluşturma adımlarını gözden geçirerek hataları gidermeye çalıştığım için, yukarıda açıklananları nasıl önleyebileceğimi anlamak için mücadele ediyorum. eski abonelikler takip edin, ben işlemini yeniden başlatmak için varsa yeni bir abonelik oluşturun: ve .. çözümü, atm için

Öneri de olmayan aboneye dışarı dağıtım yapılmadan mesajları önlemek? Süreç aşağı inip yeni abonelik oluşturulduğu ve mesajların yalnızca "ölü" aboneliğe pompalanacağı bir pencere açar. Bu mesajlar kaybolacak. Ancak en azından bundan sonraki tüm mesajlar yeni abonelik tarafından alınacaktır. Man .. Bu problem daha önce ele alınmış olmalı. Ben doğru yapmıyorum. Burada bazı rehberlik çok takdir ediyorum.

ÇÖZÜM: Her şey iş için doğru araç hakkında. Bu durum, bir Pub/Sub değil bir Queue çağırır. Her şey çözüldü. Yukarıdaki gibi aynı testleri yapıyorum, ama sırayla, ve tabii ki, bir mesaj alan istemciye karar verdiğinden, önceki (ölü) aboneliklerin yeni mesajlardan mesaj almasıyla ilgili bir sorun yoktur. Bir kerede yalnızca bir sıra istemcisi canlı olacak, bu yüzden sadece kuyruktan msjleri alabilecek biri var.

+0

İyi iş! Lütfen çözümünüzü cevap olarak gönderin ve doğru olarak kabul edin. Bu, kullanıcıların sorunuzun yanıtlandığını bilmesine yardımcı olur. –

cevap

3

ÇÖZÜM: Her şey iş için doğru araç hakkında. Bu durum, bir Pub/Sub değil bir Queue çağırır. Her şey çözüldü.Yukarıdaki gibi aynı testleri yapıyorum, ama sırayla, ve tabii ki, bir mesaj alan istemciye karar verdiğinden, önceki (ölü) aboneliklerin yeni mesajlardan mesaj almasıyla ilgili bir sorun yoktur. Bir kerede yalnızca bir sıra istemcisi canlı olacak, bu yüzden sadece kuyruktan mesaj alabilen biri var.

İlgili konular