RabbitMQ 简介、下载安装


 

基本概念

RabbitMQ简介

RabbitMQ是一个开源的消息中间件,可在不同应用之间共享数据,采用Erlang语言编写,基于AMQP协议。
 
RabbitMQ的优点

  • 高性能、高稳定性
  • 高可靠性,提供可靠的消息投递,保证数据不丢失
  • 功能强大、丰富

RabbitMQ高性能的原因:Erlang可以做到和原生socket一样的低延迟。

 

AMQP

AMQP,即Advanced Message Queuing Protocol,高级消息队列协议。AMQP只是一个规范,用来统一标准。
 

AMQP的特性

  • 定义的是底层消息传递协议,跨平台、跨语言
  • 定义了5种交换类型direct,fanout,topic,headers,system
  • 可实现高性能的经典消息队列,支持消息的循环、存储、转发
  • 支持长周期消息传递、支持事务(跨消息队列)
     

AMQP的核心概念

  • Server:又称为Broker,接受客户端的连接,实现AMQP实体服务
  • Channel:进行消息读写的网络信道,Broker可建立多个Channel,一个Channel即一个会话任务。
  • Message:消息,应用程序、Broker之间传递的数据,由Properties、Body两部分组成,Properties对消息进行修饰,比如设置消息的优先级、延时投递等,Body是消息内容。
  • Virtual host:虚拟主机,用于实现逻辑隔离
  • Exchange:交换机,接收消息,再根据路由键(Routing Key)转发消息到对应的Queue中
  • Queue:消息队列,暂时存储消息并将消息转发给消息消费者
  • Routing Key:路由键,用于绑定Queue、Exchange

一个Virtual host中可以有多个Exchange、Queue,一个Exchange可以绑定多个Queue,一个Queue也可以被多个Exchange绑定,接收多个Exchange转发的消息。

 

RabbitMQ整体架构(AMQP协议模型)

在这里插入图片描述

消息生产者、消费者都是RabbitMQ Client。一个Exchange可以绑定多个Queue,根据Routing Key确定要投放的Queue,可以向多个Queue投递消息。

消息消费者监听Queue,监听的Queue有消息进来,就处理消息。
 

在这里插入图片描述

 

rabbitmq是用erlang写的,依赖erlang,需要先安装、配置erlang的运行环境。

rabbitmq对erlang版本有严格要求,下载erlang时要注意版本。

 

win版安装

rabbitmq下载exe或zip,erlang下载exe
 

erlang环境配置

执行erlang.exe,新建环境变量 ERLANG_HOME,值是erlang主目录。

如果是rabbitmq.exe方式,可以不用配置环境变量。

 

安装rabbitmq(exe方式)

执行rabbitmq.exe,会自动安装为服务,并且已经启动。

安装后cd到rabbitmq安装目录的sbin下,启用控制台(web界面)

rabbitmq-plugins enable rabbitmq_management

浏览器访问 localhost:15672 ,用户名、密码都是 guest。

 

安装rabbitmq(zip方式)

解压后cd到rabbitmq的sbin下,启用控制台(web界面)

rabbitmq-plugins enable rabbitmq_management

双击rabbitmq-server.bat启动,关闭窗口停止。

 

linux版安装

rabbitmq、erlang都下载rpm,会自动配置环境变量,更方便。
 

安装
#安装erlang的依赖
yum install epel-release unixODBC unixODBC-devel SDL

#安装erlang
yum install esl-erlang_22.2.2-1~centos~8_amd64.rpm


#安装rabbitmq,默认安装目录 /usr/lib/rabbitmq,自动安装为服务但没有启动、没有设置开机自启
yum install rabbitmq-server-3.8.3-1.el8.noarch.rpm

#启用控制台插件
cd /usr/lib/rabbitmq/bin
rabbitmq-plugins enable rabbitmq_management


#防火墙开放5672、15672端口。5672是rabbitmq接收、投递消息(amqp)使用的端口,15672是rabbitmq控制台使用的端口,25672是集群节点间通信使用的端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload

 

修改用户名、密码

不管是exe、zip、rpm,配置文件都是rabbitmq目录下的lib/rabbitmq_server/ebin/rabbit.app。如果使用源码包自己编译安装,需要自己新建配置文件rabbitmq.config。

#修改配置文件
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.3/ebin  

vim rabbit.app

在这里插入图片描述
配置文件时json格式,默认的用户名、密码都是guest,且guest是admin账号。loopback即回环(127.0.0.1|localhost),默认把guest账号添加到了loopback_users默认添加了guest账号,即此账号只能在本地机器上访问控制台。

根据需要修改用户名、密码,不要添加到loopback_users中。

如果是在启动rabbitmq后修改的配置文件,需要重启rabbitmq或重新加载配置文件才会生效。

当然也可以直接在控制台中添加、修改用户信息。

 

启动、停止
service rabbitmq-server start
service rabbitmq-server stop
service rabbitmq-server restart
#查看rabbitmq server的状态
service rabbitmq-server status
#重新加载配置
service rabbitmq-server reload


#或者
systemctl start rabbitmq-server
systemctl stop rabbitmq-server
systemctl restart rabbitmq-server
systemctl status rabbitmq-server

浏览器通过 ip:15672 访问rabbitmq控制台。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值