rabbitmq 消费者拿到消息不干活问题

第一次写博客,拿碰到的坑,来写写,看看有没有人访问我的博客。

背景: 一个队列对应20个消费者。有很多个队列,channel 数量200左右, 一个消费者对应一个channel.

问题:生产者往一个队列同时写入了10个消息。 理论来说,这个队列肯定是有10消费者拿到消息,去干活了。

但发现只有8个左右消费者立马去干活了,2个消费者拿到消息不立马干活,要等一些时间才去。




方法: rabbitmq 自带的共享线程池默认是50个线程。对于很大的业务需求, 50个是明显不够用的,得增大。

ExecutorService service = Executors.newFixedThreadPool(Integer.parseInt(threadNum));
factory.setSharedExecutor(service);

参考文章:

https://blog.csdn.net/weinianjie1/article/details/50611379

猜你喜欢

转载自blog.csdn.net/zhong1129116952/article/details/80662904