activemq 控制高并发的问题
最近项目中遇到一个问题:
我们的项目会调用外购产品接口,外购的产品只能支持100路并发,如果超过100路会提示调用已满。所以需要在程序中需要做一个类似于队列的东西保证超过100并发的请求按顺序存在队列中。
于是我去看了下activemq,由于刚了解,有几个疑问,望大神帮忙解答。
1、activemq我感觉应该是主要解决异步处理的问题。但网上很多人说可以解决高并发的压力,一个消息发送到队列后,消费者会从队列拿到消息后进行处理,也就是请求的消息都会被立马处理,好像没看到消费者端有类似于同时只能处理3个消息、处理完后再接收消息的配置,这个不用消息队列直接调用感觉没什么区别(处理异步),服务器压力还是很大。所以解决高并发的压力这一点是怎么理解的?
2、回到我们项目,如果用activemq,外购产品的处理作为消费者端,接收队列的请求。我想做到当产品有100个并发在运行的时候,暂停从队列接收消息,当处理完N个并发后实时再从队列获取消息接着处理。请问这个是否可实现,实现思路是怎样的?