RabbitMQ 第1章 RabbitMQ部署

举报
许小强 发表于 2022/03/17 17:01:14 2022/03/17
【摘要】 RabbitMQ入门系列之Windows环境下部署

一、概述

RabbitMQ(Message Queue)是当前流行的开源的消息队列系统,用ERLang语言开发,按照AMQP(Advanced Message Queue Protocol)的标准实现,消息队列是一种应用程序对应用程序之间的通信方法,应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,则无需专用链接来链接它们,RabbitMQ便是这样一种用于应用程序之间通信的中间件。

二、架构

RabbitMQ的架构图如下:

在此有几个概念需要说明一下:

1、Exchange:消息交换机,它指定消息按照什么规则,路由至哪个队列。

2、Queue:消息队列载体,每个消息都会被投入到一个或者多个队列中。

3、Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。

4、Routing Key:路由关键字,exchange根据这个关键字进行消息投递。

5、vhost:虚拟主机,一个broker里面可以开设多个vhost,用作不同用户的权限分离。

6、producer:消息生产者,就是投递消息的程序。

7、consumer:消息消费者,就是接受消息的程序。

8、channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。

9、Broker:简单来说就是消息队列服务器实体。

消息投递过程大致如下:

  • 客户端连接到消息队列服务器,打开一个channel。
  • 客户端声明一个exchange,并设置相关属性。
  • 客户端声明一个queue,并设置相关属性。
  • 客户端使用routing key,在exchange和queue之间建立绑定好关系。
  • 客户端投递消息到exchange。
  • exchange接收到消息后,根据消息的key和已经设置好的binding,进行消息路由,将消息投递到一个或者多个队列里。

RabbitMQ几个特性:

1、exchange支持多种类型,有fanout、direct、topic、header等,每种类型的都有自己不同的使用场景和性能。

2、RabbitMQ支持消息的持久化,也就是数据写在磁盘上,为了数据的安全,我想大多数用户都选择持久化,消息队列持久化包括3个部分:

  • exchange持久化,在声明时指定durable=>1
  • queue持久化,在声明时指定durable=>1
  • 消息持久化,在投递时指定delivery_mode=>2(此处1是非持久化)

注意:如果exchange和queue都是持久化的,那么它们之间的binding也是持久化的,如果exchange和queue两者之间有一个持久化,一个非持久化,就不允许建立绑定。

三、安装

基于windows 32位操作系统的安装部署:

1、下载ERLang。(百度其官网)

2、安装ERLange,运行下载的安装程序即可,默认安装。

3、安装完成之后,设置ERLang的环境变量,首先建立一个ERL_HOME的变量,如下图所示:

4、下载rabbitmq-server-3.1.5.exe,并安装.(百度其官网)

5、启动rabbitma-start开启rabbit-server服务,启动过程【开始】--->【程序】--->【RabbitMQ Server】--->【RabbitMQ Service - start】,此时rabbitMQ-server就启动了。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。