微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 为什么ActiveMQ使用memoryPersistenceAdapter快20%?

我正在使用具有99%非持久性主题的Active MQ.对于某些我只使用非持久性消息的测试,我尝试过强制代理使用memoryPersistenceAdapter会产生影响.我将配置更改为:

<beans>
    ... 
    <broker ... persistent="false"*>
    ... 
</beans>

它确实有所作为!吞吐量增加约20%.

从理论上讲,因为没有必要坚持下去,所以根本就没有任何区别.这里发生了什么?

解决方法

队列和主题持久性要求将消息写入某处,以便在提供者/服务器重新启动时,任何未传递的消息仍然存在并且可以被提取.

主题持久性实际上仅在持久订阅正在进行时才相关,如果没有持久订阅且没有主题的活跃消费者,则无论如何都会立即删除消息.

有可能使用大量的活动消息和最少数量的消费者线程,处理可能会落后,因此提供商/服务器重新启动会收到消息……但是我相信你的消费者几乎必须立即连接.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐