RabbitMQ消息队列(一)

本文介绍了RabbitMQ消息队列的基本概念与应用场景,包括串行与并行处理方式的区别,以及如何通过引入消息队列来优化系统架构。此外,还详细讲解了RabbitMQ的安装过程与后台管理配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RabbitMQ消息队列(一)

1.消息队列使用场景
1.1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端,如图1
图1
1.2)并行方式:将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间,如图2
图2
1.3)引入消息队列,将不是必须的业务逻辑,异步处理。改造后的架构如图3
图3
2.消息队列
MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。
消息队列是一个程序写入数据到队列中,另一个程序从队列中获取消息,并且通信通过RPC调用,可以传递java对象,方便操作.
2.1)缺点
增加了复杂度
可靠性降低
2.2)消息队列的产品,如图4
图4
2.3)RabbitMQ特点

  1. 高可用,能搭建集群服务器。
    2.可扩展,有大量插件
  2. 有消息确认机制
    4.有持久化机制,可靠性高。
  3. 开源
    3安装RabbitMQ
    执行rpm命令安装rabbitMQ
    RPM是Red-Hat Package Manager(RPM软件包管理器)的缩写,Red-hat是一种Linux,RPM是用来安装Linux软件的。
rpm -ivh rabbitmq-server-3.6.1-1.noarch.rpm

安装过程
3.1)安装rabbitMQ web后台管理
1.查看插件

cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.1/plugins
ls 
#有management插件,这个插件是后台管理网页
rabbitmq_management-3.6.1.ez

3.2)安装插件的命令

cd  /usr/sbin 

ls  ra*
 
#用vim打开rabbitmq-plugins,是个脚本程序
vim rabbitmq-plugins
//下面命令安装后台管理插件,必须执行
[root@localhost sbin]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
  mochiweb
  webmachine
  rabbitmq_web_dispatch
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management

Applying plugin configuration to rabbit@localhost... failed.
 * Could not contact node rabbit@localhost.
   Changes will take effect at broker restart.
 * Options: --online  - fail if broker cannot be contacted.
            --offline - do not try to contact broker.

3.3)启动rabbitMQ

# cd /usr/sbin
# ls ra*
service rabbitmq-server start

启动成功
3.4)在虚拟机中登录
单击火狐浏览器,
在虚拟机中用localhost:15672能访问,能登录
用户名和密码:guest,登录成功后如图- 66所示。

五种模式总结

简单simple:一个消费者
工作work:多个消费者,每个消费者处理的信息是不一样的,用在高并发
订阅fanout:每个消费者得到信息一样的,
路由direct: 每个消费者得到信息不一样的,信息有routingkey,消费者执行select where routingkey=mobile
主题topic:消息分类,消费者取消息时用mobile.*能取到routingKey为mobile.cart和mobile.order的信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值