首页 新闻 搜索 专区 学院

rabbitMQ

0
[待解决问题]

rabbitMQ到底在实际应用中能干什么,就是单纯的发送消息吗?网上说能削峰,怎么实现的?从网上找的资料全是一个简单的消息发送接收,能不能来点详细的?还有定义了一个queue真的能进行异步传输吗?难道不是同一时刻从队列中取一条数据吗?这样的话跟正常的流程不就没区别了吗?大神看到回复一下

一只小小弱鸡的主页 一只小小弱鸡 | 菜鸟二级 | 园豆:252
提问于:2019-11-26 18:12
< >
分享
所有回答(4)
0

伪代码
RabbitMQ.Send(msg);此处消息发送成功之后就可以返回成功,具体业务是否处理此处不关心。
如果此处发送的消息是直接操作数据库,假如每秒10000次,一般数据库肯定是承受不住的,通过queue发送消息,可以将后序慢慢处理。

通信的搞程序 | 园豆:1148 (小虾三级) | 2019-11-26 18:22

谢谢,有点明白了

支持(0) 反对(0) 一只小小弱鸡 | 园豆:252 (菜鸟二级) | 2019-11-27 09:09
0

当你的消费者完全可以处理所有请求时。时和你说的一样。
当你的服务器性能不够。来不及处理突发的流量。他就会积压消息在服务上。消费者继续可以慢慢处理。
用户就不会等待请求响应。
简单来说就是当你上消息队列后。你的服务结构会发生改变。业务会变成异步的。
用户做一个操作后他不会等待请求的响应。而是接退出。等待回调

吴瑞祥 | 园豆:28820 (高人七级) | 2019-11-26 23:48

感谢

支持(0) 反对(0) 一只小小弱鸡 | 园豆:252 (菜鸟二级) | 2019-11-27 09:10
0

削峰填谷-

yytxdy | 园豆:1065 (小虾三级) | 2019-11-27 09:32
0

自己实际上手操作一次能体会到了。之前玩爬虫,因为是连接外网挂vpn会不太稳定,再加上看了 rabbitMQ ,就结合用了一下

场景是 从外网爬一堆图片(没错,就是你想的那种图片),保存本地,然后再上传其他的服务器,下载和上传都会失败,且时间比较久,加了 rabbitMQ 后,下载成功后发送队列给 rabbitMQ 服务器,rabbitMQ 客户端拉队列里面的内容,然后上传,成功了销毁,失败不销毁

这种东西结合完实际应用并操作后,理解会透彻一些

Not丶see | 园豆:349 (菜鸟二级) | 2019-11-27 22:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册