本节讲述了JMS消费策略的参数设置及其含义。
# JMS消费策略
JMS消息消费策略配置在JMS代理服务上,最大限度地提升JMS代理服务的效率,其设置位置如下所示:
- 初始消费者数:消息队列上的初始并发消费者数,默认为1。设置多个消费者可以提高队列中消息的消费效率,但不能保证消费的顺序。
- 最大消费者数:消息队列上并发消费者的最大值,默认为1。当消息队列中有较多的消息时,ESB Server将动态增加消费者数;当消息队列中消息数减少后,并发消费者数会递减,直到到达初始消费者数。
- 最大消息数:每个消费者中等待处理的最大消息数。消费者以异步的方式,从队列中接收消息,然后进行后续处理,当等待处理的消息达到设定值时,不再接收新的消息。
- 空闲次数:当消费者没有接收到消息时,消费者会轮询队列,轮询指定的空闲次数后,该消费者将会被停止。空闲次数默认为1。
消费策略参数填写规则如下:
属性名称 | 填写规则 |
---|---|
初始消费者数 | 范围从1到10,支持设置int型的变量或常量 |
最大消费者数 | 范围从1到20,支持设置int型的变量或常量 |
最大消息数 | 范围从1到1000,支持设置int型的变量或常量 |
空闲次数 | 范围从0到10,支持设置int型的变量或常量 |
# 调优最佳实践
- 一般情况下,初始消费者数设置为1即可;
- 最大消费者数的设置根据消息量而定。设置数值过大,会影响系统整体的性能;
- 最大消息数一般设置在10-100之间;
- 一般而言,空闲次数设置为3-5之间即可;