RabbitMQ入门与安装

一、什么是MQ

在计算机科学中,消息队列(英语:Message queue)是一种进程间通信或同一进程的不同线程间的通信方式,软件的贮列用来处理一系列的输入,通常是来自用户。消息队列提供了异步的通信协议,每一个贮列中的纪录包含详细说明的数据,包含发生的时间,输入设备的种类,以及特定的输入参数,也就是说:消息的发送者和接收者不需要同时与消息队列交互。消息会保存在队列中,直到接收者取回它。

为什么会产生消息队列?有几个原因:

  • 不同进程(process)之间传递消息时,两个进程之间耦合程度过高,改动一个进程,引发必须修改另一个进程,为了隔离这两个进程,在两进程间抽离出一层(一个模块),所有两进程之间传递的消息,都必须通过消息队列来传递,单独修改某一个进程,不会影响另一个;
  • 不同进程(process)之间传递消息时,为了实现标准化,将消息的格式规范化了,并且,某一个进程接受的消息太多,一下子无法处理完,并且也有先后顺序,必须对收到的消息进行排队,因此诞生了事实上的消息队列;
  • MQ框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka,以及阿里开源的RocketMQ,本文主要介绍RabbitMq。

二、RabbitMQ简介

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件),是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。

主要特性:

  • 异步性:将耗时的同步操作,通过以发送消息的方式,进行了异步化处理。减少了同步等待的时间。
  • 松耦合:消息队列减少了服务之间的耦合性,不同的服务可以通过消息队列进行通信,而不用关心彼此的实现细节,只要定义好消息的格式就行。
  • 分布式:通过对消费者的横向扩展,降低了消息队列阻塞的风险,以及单个消费者产生单点故障的可能性(当然消息队列本身也可以做成分布式集群)。
  • 可靠性:消息队列一般会把接收到的消息存储到本地硬盘上(当消息被处理完之后,存储信息根据不同的消息队列实现,有可能将其删除),这样即使应用挂掉或者消息队列本身挂掉,消息也能够重新加载。

三、Windows安装RabbitMQ

1、RabbitMQ由Erlang语言开发,所以安装它需要Erlang环境,Erlang下载地址:https://www.erlang.org/downloads,建议直接下载最新版本,下载完成后直接双击exe文件进行安装。

安装完成之后设置系统环境变量(ERLANG_HOME)与添加Path路径(%ERLANG_HOME%\bin):

2、下载RabbitMQ,下载地址:https://www.rabbitmq.com/download.html,下载之前可以看下RabbitMQ与Erlang的版本兼容列表:https://www.rabbitmq.com/which-erlang.html, 一般情况下也是推荐直接下载最新版本 ,下载完成之后直接双击exe文件进行安装。

为了能通过web管理RabbitMQ,需要安装一个插件,进入它的sbin目录,执行:

rabbitmq-plugins enable rabbitmq_management

如果正常,则会显示:

插件安装之后就可以通过访问http://127.0.0.1:15672/来管理它,默认登录账号:guest,密码:guest

四、附录

常用命令:

rabbitmq-service stop 停止服务
rabbitmq-service remove 删除服务
rabbitmq-service install 安装服务
rabbitmq-service start 开启服务

常用端口说明:

15672:web管理界面端口

5672:客户端通信端口

未经允许不得转载:小茉莉 » RabbitMQ入门与安装

赞 (3) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下小茉莉

支付宝扫一扫打赏

微信扫一扫打赏