MQ解决高并发问题

J2EE 码拜 9年前 (2016-03-19) 2856次浏览
最近了解到用mq解决高并发问题
本人也用过activemq,并不精通,想来想去有个问题
假设大量访问冲进来,servlet做client把请求发给activemq,发给服务处理端,解决高并发问题
但是服务处理完,响应怎么办呢
莫非作为client的servlet ,也订阅一个响应队列么,等服务在发回来
觉得这样的话,高并发问题是解决了,但是会不会很慢
菜鸟求帮助
什么分都是小事
解决方案

40

用mq来将耗时比较长或耗费资源的请求排队,异步处理,减轻服务器压力增加稳定性。
假如是高并发的实时请求,本人个人觉得不适用这个方案。假如是为了高并发,本人觉得应该朝解决高并发的方向考虑。集群、分布式、动静分离、数据库读写分离之类的。
web的话,只能客户端页面轮训处理结果。
原因是,据本人个人了解啊,现在web没有成熟的向客户端推送处理结果的技术。或是本人没弄好,假如有知道的,还望提点下。

20

把客户行为变为异步,就是提交后,只通知收到请求,需要客户再提交查询请求,查看结果

20

不会的,我们之前也是一个请求队列一个响应队列 ,其实中间虽然做了N多操作,但是实际上呈现出来的速度还是很快的

20

异步模式
1 .request -》 add to queue -> response job id (and callback address)
2. client  get callback address and listening wait for callback
3. serve get job from queue and do logic
4. notify the result to callback address.

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明MQ解决高并发问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)