假设场景,发布者发布消息,没有人可用来处理它。我所能弄明白的是,这条信息将被黑洞吞噬。
有一个只有一个订阅者的发布者的SO帖子,答案是发送消息而不是发布它。我明白了。Rebus订阅者-发布者系统。仅由单个订阅者处理消息
我更担心的是,如果我发布的内容本应由一些订阅者处理,但由于某种原因(糟糕的发布?)天灾?我不知道)
很酷的是,一旦订阅者订阅了,当消息发布时,如果它崩溃并保持关闭状态,并不重要,因为事件将在订阅者的输入队列中排队。
你看,发布者有一个"订阅存储",这是存储订阅的地方。它可以是一个数据库,一个JSON文件,或者如果传输支持它(如RabbitMQ和Azure服务总线),订阅存储被内置到传输中(*)。
这意味着发布者可以在订阅者进出时发布任意数量的事件,但只要他们不取消订阅,那么最终将接收所有事件。
*)以能够正确发布/订阅消息的形式。