当没有消费者倾听时,发布到虚拟主题的消息会发生什么?经纪人会持有一段时间,直到订户可用吗?
更具体地说:在T0和T1处,发布消息M0和M1.在T2,消费者C1连接,他会收到M0和M1吗?显然,在T3和T4发布的消息M2和M3将由C1接收,但是在T5连接的新消费者C2将接收什么?所有消息,M2和M3,还是没有?
这取决于主题的性质:如果主题是持久的(有持久消费者订阅它),代理将保留该主题中的消息,直到所有持久消费者消费该消息。如果主题是非持久的(没有持久消费者),则消息甚至不会发送到该主题,因为不会有持久订阅。
对于您的示例,我将考虑您正在使用持久订阅/消费者:情况 1:
那是因为它们持有持久订阅。 使用持久主题/队列时需要非常小心:如果消费者不取消订阅,代理将保留消息,直到消息存储爆炸。您需要确保它不会发生(通过设置驱逐策略和/或在消息上设置生存时间)。当然,前面的示例会根据消费者何时进行持久订阅而有所不同。
如果您使用非持久主题:
| 归档时间: |
|
| 查看次数: |
3265 次 |
| 最近记录: |