RabbitMQ--简单了解

2 篇文章 0 订阅

消息队列遵循先进先出(FIFO),里面存放着消息。

-MQ 应用场景
1.异步处理,降低响应时间;
2.应用解耦,eg:用户下单后,订单系统完成持久化处理,同时将【消息】写入消息队列,直接返回订单下单成功。
库存系统:订阅下单的消息,从队列中获取下单信息,库存系统根据下单信息,进行后续的库存操作。
若库存系统不能正常使用,也不会影响订单系统的正常下单。

  • RabbitMq
    1.实现了AMQP协议,由Erlang语言写成。
    2.RabbitMQ作为消息队列,可以接受并转发消息。可以把他理解为邮局:将需要发布的消息放在队列中间件中,最终会转发给消息接收方。
    3.用武之地:一些无需立即返回且耗时的操作提取出来,进行异步处理
    模式:
  • 点对点:一条消息,只会被一个接收端给接收到
  • 发布/订阅模式:一个消息可以由多个消费者接收。
    组件
    在这里插入图片描述
  • Message
    消息:任何类型的数据都可以作为消息。每个消息有一个routing-key路由键。
  • Publisher
    消息的生产者,也是一个向Exchange交换器发布消息的客户端应用程序。
  • Queue
    消息队列,是消息的容器,用来保存消息。消息一直在队列里,直到消费者将其取走。
  • Binding-key
    队列绑定的binding-key。
  • Exchange
    交换器(路由),用来接收消息并将这些消息分发给服务器中的队列。
    Exchange常见的类型有:
direct、fanout、topic、headers
1 direct ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200802111959908.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NDEzNTcz,size_16,color_FFFFFF,t_70)
  • 当交换器使用direct类型时:
    消息中的 路由键(routing key)如果和 队列中的 binding key 一致, 交换器就将消息分发到队列中
    2 fanout-广播形式
    在这里插入图片描述
    每个发送到 fanout 类型的交换器的消息都会分发到所有的队列上去。与routing-key和bingding-key无关,每个发送到交换器的消息都会被转发到与该交换器绑定的所有队列上

3 topic
在这里插入图片描述

topic 交换器通过路由键进行“模式匹配”。
将路由键routing key和绑定键binding key的字符串切分成单词.
这些单词之间用点隔开。允许两个通配符:
#代表任意N个单词,*代表一个单词。

每一个消息,有一个routingkey(标记、记号) 每一个队列,有一个bindingke

  • Consumer
    消息的消费者,表示一个从消息队列中取得消息的客户端应用程序。

  • Linux环境安装RabbitMQ

  • 安装Erlang环境
    在根目录下创建一个myfile目录

#安装GCC编译器 GCC-C++ Openssl等模块

> yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel
> openssl-devel

#wget命令在线下载(或者直接上传)
wget 

> http://erlang.org/download/otp_src_18.2.1.tar.gz 或者直接上传

#解压

> tar -xvf otp_src_18.2.1.tar.gz

#进入otp_src_18.2.1目录,安装编译

> ./configure

#这一步需要很长时间,稍安勿躁                                               

> make install
  • 安装RabbitMQ

(1)下载rabbitmq-server-3.6.9.tar.xz或者直接上传

wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz

(2)对rabbitmq包进行解压

tar -xvf rabbitmq-server-generic-unix-3.6.9.tar.xz

(3)配置rabbitmq的PATH环境变量
修改/etc/profile ,在末尾添加如下内容;
执行source /etc/profile刷新。

export PATH=/myfile/rabbitmq_server-3.6.9/sbin:$PATH

(4)进入rabbitmq的sbin目录下,执行如下命令。

#启动后台管理(rabbitmq有一个后台管理页面)
rabbitmq-plugins enable rabbitmq_management

# 后台运行rabbitmq
rabbitmq-server -detached

(5)添加用户(后台页面登录使用)

rabbitmqctl add_user admin admin

(6)添加权限

rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

(7)修改用户角色

rabbitmqctl set_user_tags admin administrator
  • 3、测试访问后台管理页面
    ip+端口: 端口是 15672 ui界面
    eg:192.152.176.131:15672
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值