9.(ActiveMQ优化)消费端 prefetchSize 和 optimizeAcknowledge 解析

匿名 (未验证) 提交于 2019-12-02 23:56:01

是producer允许积压的消息的大小。如需了解ProducerWindowSize概念,请移步ActiveMQ消息发送策略

在消费端通过设置 prefetchSize 就可以设置窗口的大小。

批量加载--prefetchSize

prefetchSize的设置方法

 Destination destination = session.createQueue("myQueue?consumer.prefetchSize=88");

既然有批量加载,那么一定有批量确认,这样才算是彻底的优化。


批量确认--optimizeAcknowledge

是否开启优化ACKtrue

optimizeAcknowledge的设置方法

 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.204.201:61616 ?jms.optimizeAcknowledge=true&jms.optimizeAcknowledgeTimeout=10000");

:如果 optimizeAcknowledge 为 true ,那么 prefetchSize 必须大于 0 。当 prefetchSize = 0 的时候,表示 consumer 通过 pull 方式从broker获取消息


总结:

减少了客户端在获取消息时的阻塞次数,还能减少每次获取消息时的网络通信开销

重复 消息。

END

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!