什么是MQ?
什么是MQ?
MQ(message queue)从字面意思上看,塔的本质就是一个队列,只不过它里面存放的是内容是消息message,是一种跨进程的通信机制,用于传递消息,只不过用它传递消息就只需要依赖MQ就可以了,不需要依赖其它别的什么服务,就好比一个秒杀服务,我要创建一个订单需要依赖的不仅是订单微服务还需要依赖商品微服务,但如果多个客户端同时发出请求,是不是会导致服务器堵塞,请求迟迟无法完成,但有了中间件之后,它可以把两个模块相隔开,自己干自己的事情,当它把消息发给商品服务的时候,就已经是另一个请求了
为什么要使用MQ?
1.流量消峰
2.应用解耦
以电商应用为例,应用中有订单系统、库存系统、物流系统、支付系统。用户创建订单后,如果耦合调用库存系统、物流系统、支付系统,任何一个子系统出了故障,都会造成下单操作异常。当变成基于消息队列的方式后,系统间调用的问题会减少很多,比如物流系统因为发生故障,需要几分钟来修复。在这几分钟的时间里,物流系统要处理的内存被缓存在消息队列中,用户的下单操作可以正常完成。当物流系统恢复后,继续处理订单信息即可,中单用户感受不到物流系统的故障,提升系统的可用性。
3.异步处理
假如你A方法突然要执行B方法,异步处理的原因,A可以接着干自己的事情,B也执行自己的方法,知道B运行完成才把结果返回给A
RabbitMQ工作原理
rabbitmq安装
第一步:文件上传
第二步:安装文件
第三步:常用命令
添加开机启动RabbitMQ服务
启动服务
查看服务状态
停止服务
开启Web管理插件
这样就可以主机上的浏览器访问了
由于第一次登陆没有权限,需要先添加一个新的用户
创建账号
设置用户角色
设置用户权限
查看角色列表
再次尝试登陆