假设情景,发布者发布消息,没有人可以处理它。我能够弄清楚的是,这条消息将是黑洞。
对于只有一个订阅者的发布者,有一个SO帖子,答案是发送消息而不是发布消息。我明白了。 Rebus subscriber-publisher system. Process message only by single subscriber
我更关心的是,如果发生一些奇怪的事故,我会发布一些本应由某些订阅者处理过的内容,但是由于某种原因它们都会失败(糟糕的发布?上帝的行为?我不知道知道)
答案 0 :(得分:2)
很酷的是,一旦订阅者订阅了,如果它在发布消息时崩溃并停留在并不重要,因为事件将在订阅者中排队#39;输入队列。
您看,发布商有"subscription storage",这是存储订阅的地方。它可以是数据库,JSON文件,或者如果传输支持它(例如RabbitMQ和Azure Service Bus),则订阅存储将内置到传输(*)中。
这意味着发布商可以在订阅者来来往往时发布任意数量的事件,但只要他们不取消订阅,就会最终收到所有活动。
*)以能够进行适当的发布/订阅消息传递的形式。