没有订阅者的发布者

时间:2016-10-13 19:42:03

标签: rebus

假设情景,发布者发布消息,没有人可以处理它。我能够弄清楚的是,这条消息将是黑洞。

对于只有一个订阅者的发布者,有一个SO帖子,答案是发送消息而不是发布消息。我明白了。 Rebus subscriber-publisher system. Process message only by single subscriber

我更关心的是,如果发生一些奇怪的事故,我会发布一些本应由某些订阅者处理过的内容,但是由于某种原因它们都会失败(糟糕的发布?上帝的行为?我不知道知道)

1 个答案:

答案 0 :(得分:2)

很酷的是,一旦订阅者订阅了,如果它在发布消息时崩溃并停留在并不重要,因为事件将在订阅者中排队#39;输入队列。

您看,发布商有"subscription storage",这是存储订阅的地方。它可以是数据库,JSON文件,或者如果传输支持它(例如RabbitMQ和Azure Service Bus),则订阅存储将内置到传输(*)中。

这意味着发布商可以在订阅者来来往往时发布任意数量的事件,但只要他们不取消订阅,就会最终收到所有活动。

*)以能够进行适当的发布/订阅消息传递的形式。