Java使用RabbitMQ(五)--消息分发策略

消息分发策略
RabbitMQ默认的消息分发策略是公平分发(Fair dispatch),把消息轮流发给每个worker者。
这样有个问题:某个worker很忙的 时候,会累积大量的消息,导致异常、内存溢出等问题。
一个解决方案是:设置某一时间只给一个worker者发送一条消息,在没有收到ack消息回应时,不给发第二个。

int prefetchCount = 1;
channel.basicQos(prefetchCount);

当然这种解决方式也有它的问题,就是rabbitMQ可能会累积大量消息,队列很快会满,这就需要添加更多的worker来处理这些消息。

猜你喜欢

转载自blog.csdn.net/ljz2016/article/details/79969994
今日推荐