rabbit mq知识点:
1.消费时可以通过acknowledge设定消费是否成功,消费不成功时在server端requeue
2.需要注意两个持久化:queue持久化和消息持久化(通过代码设定,默认即时开启持久化,消息有一定丢失可能)
3.可以在一个connection上并发运行多个channel
rabbit mq问题:
1.现在消费者是按条消费的,如何改成按批次消费
2.多消费者时采取轮询模式,例如有两个消费者AB分配5个任务,则A分配到0、2、4,B分配到1、3 ,此时如果A执行0任务时阻塞,则任务2、4将一直等待 且0、2、4任务在服务器端认为已被A消费(解决方案:使用channel.basicQos(prefetchCount) 设定客户端每次从服务器拉取数据的条数)