RabbitMQ入门教程(一)——简介、安装与配置

1. 简介

   1.1 MQ简介

       MQ,全称MessageQueue,译为“消息队列”,也称“消息中间件”。
       那消息队列主要是用来做啥的呢?以某位大咖的公众号为例,如果某读者订阅(关注)了这个公众号,每当大咖发布新文章的时候,都可以在这个公众号得到通知,这就是一种广播订阅模式。
       而公众号如何实现这一点呢? 就可以通过 消息中间件 来轻松实现。
大咖把最新的教程的文章 发给 消息中间件服务器, 读者手机上的微信里的消息中间件客户端,就会自动去把消息获取出来显示,这样就达到了教程广播的效果了。
       消息队列用于系统之间解耦,通过高性能消息中间件,提升系统吞吐量,降低导致系统耦合。

   1.2 RabbitMQ简介

       当前有各种消息队列,RabbitMQ、Kafka、ActiveMQ等,为什么使用RabbitMQ?
       消息队列从使用场景来分为两类:

  • 一类是大数据的数据流处理,数据采集者作为生产者数据通过消息队列从到后端处理。这种场景要求高吞吐高并发,Kafka专门为这种场景设计。
  • 另一类是消息高可靠低时延在系统之间传递,这种场景要求可靠性高,消息不能丢;要求时延低。AMQP协议专门为这种场景设计,RabbitMQ是AMQP协议实现者之一,也是当前使用的最广的AMQP消息队列。

    1.3 典型的消息队列处理流程

以一个提供网页转PDF的Web应用为例,描述消息处理流程。
在这里插入图片描述

  1. 用户发送网页转PDF请求到Web应用
  2. Web应用发送一个消息到RabbitMQ,包括网页内容、用户名、邮箱等
  3. RabbitMQ的Exchange接收到消息后,将消息路由到某一个队列
  4. PEF生成器消费队列的消息,生成PDF

    1.4 基本概念

在这里插入图片描述

  • 生产者 Publicsher:消息发布者
  • 消费者 Consumer:消息接收者
  • 服务器 Broker:Broker是一个物理上的服务器(或虚拟机),它是部署了消息中间件并接收处理客户端请求的实体。
  • 队列 Queue:用于存储消息的一块缓存
  • 消息 Message :具体的消息内容,一般为String
  • 连接 Connection:应用与RabbitMQ Broker之间的TCP连接
  • 通道 Channel:连接内的虚拟连接,应用生产或消费队列中的消息时,都是通过Channel完成的
  • 绑定 Binding:Queue与Exchange之间连接
  • 路由键 Routing Key:Exchange根据Routing Key来决定将消息投递到哪个队列,类似消息的地址
  • 用户 User:RabbitMQ连接需要用户密码认证;同时可以给用户设定读、写等权限
  • 虚拟主机 Virtual Host:Virtual Host用来区使用同一个RabbitMQ实例的多个应用。connections, exchanges, queues, bindings, user permissions, policies and some other things 都属于Virtual Host。

2. 安装

   2.1 erlang的安装

       rabbitMQ 是基于 erlang 语言开发的,就如同 activemq 需要安装 java 环境一样, 为了使用 rabbitMQ 需要安装 erlang环境。
https://www.erlang.org/downloads
在这里插入图片描述
       下载完后无脑下一步安装即可。
       与 jdk类似,也要配置路径,只是不用配置 ERL_HOME,直接配置 PATH就可以了。
       右键点击我的电脑-> 属性 -> 高级系统设置 -> 高级 -> 环境变量 -> 系统变量 -> Path
       然后增加如图所示的一条新的 路径。 这个路径就是 erlang 安装程序 截图里所用的路径。
在这里插入图片描述
       使用快捷键 win+r, 然后输入 cmd, 接着运行 erl。 出现如图所示的界面,就表示安装成功了。
在这里插入图片描述

   2.2 RabbitMQ的安装

       https://www.rabbitmq.com/download.html

在这里插入图片描述
       使用默认设置,下一步下一步即可。安装成功之后,在如图所示位置可以看到这些文件就表示安装OK了。
在这里插入图片描述

   2.3 RabbitMQ配置插件

       运行如下命令,可以做到对 rabbitmq的插件配置。

"C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-plugins.bat" enable rabbitmq_management 

在这里插入图片描述
在这里插入图片描述
       在这里重启。

   2.3 RabbitMQ的配置

       进入http://127.0.0.1:15672
       输入
       账号: guest
       密码: guest
       就登陆进去啦
在这里插入图片描述

   2.3.1 添加用户

   2.3.1.1 添加用户界面

在这里插入图片描述

   2.3.1.2 添加管理员

在这里插入图片描述
       我们添加账号 admin密码 admin tags 选择 admin
       我们看到刚添加完成的用户 在 vhost 一栏是没有权限的,所以呢我们这个时候的给他设置一个 vhost,那么这个 vhost 就相当于一个数据库(可以理解为 mysql 里面的一个 db),我们创建一个用户对其用户授权,他就可以访问了

   2.3.1.3 vhost 管理

       1.点击右侧的菜单进入 vhost 的管理界面
在这里插入图片描述
       2.点击 Add a new virtual host 添加一个 vhost,在 Rabbitmq 中我们添加 vhost 一般是以”/”开头,那么我们添加一个/lbl 的 vhost;

在这里插入图片描述
       3.当我们创建这个”vhost_lbl”的 vhost, 就可以对他进行用户授权,我们点击/vhost_mmr,进入其配置界面

在这里插入图片描述
       在 permission 权限这一栏 我们选择刚刚创建的用户 admin,选择完成后 Set Permission

在这里插入图片描述
       我们退出 guest 用户,就可以使用刚刚创建的用户 admin 进行登录了
在这里插入图片描述
       这时候大功告成,创建成功!~

   2.3.2 控制台功能介绍

在这里插入图片描述
       Overview 概览在这里插入图片描述

       Connections 连接在这里插入图片描述
       我们没有连接 , 这个就好像 jdbc 连接 mysql 一样 如果有程序连接这 ,这时候这里面就能显示哪些机器连接着
在这里插入图片描述
       这些后面在讲具体的内容的时候 会提到是干什么用的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章