首页 文章

在消费者缓慢的情况下如何阻止 生产环境 者

提问于
浏览
0

我从ActiveMQ文档here中读到以下引用:

使用同步消息传递的缺点是,如果消费者调度消息的速度很慢,则 生产环境 者更有可能阻止 .

但是我不明白 生产环境 者通常如何因为消费者的缓慢而被阻止,因为我的理解是JMS客户端( 生产环境 者)将消息发送到ActiveMQ实例(代理)的队列,就是这样,现在 生产环境 者是免费的,换句话说 生产环境 者线程发送消息是免费完成/死亡 . 然后会有一些其他JMS客户端(消费者)监听该队列,现在一旦消息到达代理,代理就会将其发送给收听消费者 .

现在,在所有这些 生产环境 者依赖消费者的地方?

1 回答

  • 4

    当 生产环境 者向代理发送持久性消息时,代理必须将该消息写入磁盘,然后再向 生产环境 者发回确认信息,让它知道它的消息是安全存储的,以便以后发送给消费者 . 在消费者较慢的情况下, 生产环境 者可能最终遇到代理已达到资源限制且无法将该消息存储在内存中或磁盘上的队列中的情况,这一切都取决于代理的配置 .

    生产环境 者与消费者的联系并不像消费者所需的资源,而是消费者所需的资源 .

相关问题