消息中间件——RabbitMQ—介绍与安装(一)

什么是RabbitMQ

RabbitMQ是用Erlang语言开发的一个实现了AMQP协议的消息队列服务器。

相比其他同类型的消息队列,最大的特点在保证可观的单机吞吐量的同时,延时方面非常出色。

为什么要选择RabbitMQ?

  • 除了Qpid,RabbitMQ是唯一一个实现了AMQP标准的消息服务器;
  • 可靠性,RabbitMQ的持久化支持,保证了消息的稳定性;
  • 高并发,RabbitMQ使用了Erlang开发语言,Erlang是为电话交换机开发的语言,天生自带高并发光环,和高可用特性;
  • 集群部署简单,正是因为Erlang使得RabbitMQ集群部署变得超级简单;
  • 社区活跃度高,根据网上资料来看,RabbitMQ也是首选;

安装

centos7

基础依赖安装:

如果你的操作系统是Linux的最小安装包,那么应该有很多基础的依赖包没有安装,在安装RabbitMQ之前,需要安装好这些基础依赖包,可以运行如下命令:

$ sudo yum install openssql openssl-devel make gcc gcc-c++ kernel-devel

安装Socat:

RabbitMQ依赖于Socat,因此在安装RabbitMQ前要安装Socat,如下:

$ sudo yum install -y socat

安装Erlang:

因为RabbitMQ是用Erlang语言开发,所以在安装RabbitMQ前,要先安装Erlang运行环境,我们使用Erlang语言的rpm
安装包。

# 下载
$ wget https://github.com/rabbitmq/erlang-rpm/releases/download/v22.3/erlang-22.3-1.el7.x86_64.rpm

# 安装
$ rpm -ivh erlang-22.3-1.el7.x86_64.rpm

安装RabbitMQ:

上面所说的依赖安装完成后,最后我们可以运行下面的命令安装RabbitMQ:

# 下载
$ wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-3.8.3-1.el7.noarch.rpm

# 安装
$ rpm -ivh rabbitmq-server-3.8.3-1.el7.noarch.rpm

启动与关闭:

安装完成之后,可以使用rabbitmq-server命令启动服务器,如下:

# 直接启动
$ sudo rabbitmq-server

# -detached为可选参数,表示后台开启
$ sudo rabbitmq-server -detached

启动成功,输出如下:

消息中间件——RabbitMQ—介绍与安装(一)_2020-07-10-13-34-58.png

如果要关闭,则可以使用下面的命令:

#关闭RabbitMQ服务:  
$ sudo rabbitmqctl stop

插件管理:

上面我们使用rabbitmq-server启动服务器,也可以使用rabbitmqctl命令管理服务器,包括创建交换机、队列、用户管理等操作,除了命令管理工具,RabbitMQ还提供了Web管理工具,而Web管理工具作为RabbitMQ的插件,如果要开启,可以使用下面的命令 :

rabbitmq-plugins是RabbitMQ管理插件的命令。
$ sudo rabbitmq-plugins enable rabbitmq_management

启动插件后,我们再启动服务器,最后一行显示运行了3个插件,如下:

消息中间件——RabbitMQ—介绍与安装(一)_2020-07-10-13-37-49.png

重新启动服务器后,可以打开浏览器访问RabbitMQ的Web管理界面,Web管理程序的端口号是15672,在浏览器中输入http://localhost:15672,即可以访问。

消息中间件——RabbitMQ—介绍与安装(一)_2020-07-10-13-39-03.png

docker

# 拉取镜像包
docker pull rabbitmq:3.8.3-management

# 启动镜像
`docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq3.8.3-management
文章目录
  1. 1. 什么是RabbitMQ
  2. 2. 安装
    1. 2.1. centos7
    2. 2.2. docker
|