rabbitmq简介

  1. AMQP,即advance message queuing protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。类比http。

  2. rabbitqm采用erlang语言开发。基于与amqp标准开发的。

  3. 相关概念

    exchange:message到达broker的第一站,根据分发规则,匹配查询表中的routing key,分发消息到queue中去,常用的类型有:direct(point-point),topic(publish-subscribe)and fanout(multicat)。

    queue:消息最终被送到这里等待consumer取走。

    binding:exchange和queue之间的虚拟连接,binding中可以包含routing key。binding信息被保存到exchange中的查询表中,用于message的分发依据。

  4. rabbitmq的工作模式

    简单模式、work queues、publish/subscribe发布与订阅模式、routing路由模式、topic主题模式、rpc远程调用模式(远程调用,不太算mq,暂不做介绍)。

  5. JMS

    JMS即java消息服务(java message service)应用程序接口,是一个java平台中关于面向消息中间件的api。

    jms是javaee规范中的一种,类比jdbc。

  6. rabbitmq的应用场景

    异步处理、流量削峰、应用解耦

rabbitmq安装

window环境安装

rabbitmq是erlang语言开发的,rabbitmq安装需要先安装erlang,再安装rabbitmq;

  1. 安装包文件:

    百度云:

​ 链接:https://pan.baidu.com/s/1aiuBcBYgeyD33w3BRnfv5g
​ 提取码:wpqj

​ 官方网址:

​ erlang下载地址:https://hub.fastgit.org/rabbitmq/erlang-rpm/releases

​ rabbitmq下载地址:https://github.com/rabbitmq/rabbitmq-server/releases

rabbitmq与erlang两者之间需要版本相匹配才可以,安装包中的版本已经匹配。Erlang和RabbitMQ版本对照:https://www.rabbitmq.com/which-erlang.html

  1. erlang安装:

双击安装,更改安装路径(我这里安装到D盘),一直下一步即可完成安装。

1)erlang环境配置:

​ 在系统变量中新建:

​ 变量名:ERLANG_HOME,

​ 变量值:D:\LenovoSoftstore\Install\Erlang OTP(路径根据安装位置填写)

​ 在path中添加变量:%ERLANG_HOME%\bin

2)rabbit安装:

​ 同样双击安装,选择安装位置,一直下一步即可。

​ 安装完成后,打开命令行,位置转到rabbit安装路径下的sbin下。

​ 输入:启动可视化插件:rabbitmq-plugins enable rabbitmq_management

​ 启动rabbitMQ:rabbitmq-server.bat

​ 查看状态:rabbitmqctl status

如无报错则安装成功。

rabbit相应命令:

常用命令
在rabbitmq的sbin目录下cmd
1、启动rabbitMQ:rabbitmq-server.bat
2、关闭:rabbitmqctl stop
3、查看状态:rabbitmqctl status
4、Rabbitmq 管理插件启动,可视化界面
启动:rabbitmq-plugins enable rabbitmq_management
关闭:rabbitmq-plugins disable rabbitmq_management

Linux环境安装

在安装选择:rabbitmq-server-3.8.30-1.el7.noarch.rpm、erlang-23.2.7-2.el7.x86_64.rpm

  1. 百度云:

​ 链接:https://pan.baidu.com/s/1aiuBcBYgeyD33w3BRnfv5g
​ 提取码:wpqj

  1. 将rabbitmq-server-3.8.30-1.el7.noarch.rpm、erlang-23.2.7-2.el7.x86_64.rpm两个文件上传到Linux系统上,我这里在usr/src下创建rabbitmq文件夹,将文件上传到该目录。

  2. 在RabiitMQ安装过程中需要依赖socat插件,首先安装该插件

    yum install -y socat
    
  3. 解压、安装erlang

    # 解压
    rpm -Uvh erlang-23.2.7-2.el7.x86_64.rpm
    # yum安装(上述解压方式,忽略yum安装)
    yum install -y erlang
    
  4. 安装成功后,查看版本

    # 查看版本
        erl -v
     # 查看完成后,自动进入erlang命令行
     #退出命令
        halt().
    
  5. 解压安装rabbitMQ

    # 解压
    rpm -Uvh rabbitmq-server-3.8.30-1.el7.noarch.rpm
    #  yum安装(上述解压方式,忽略yum安装)
    yum install -y rabbitmq-server
    
  6. 启动rabbitmq命令

    # 启动rabbitmq
    1. systemctl start rabbitmq-server
    2. service rabbitmq-server start
    
    # 查看rabbitmq状态
    systemctl status rabbitmq-server
        
    # 设置rabbitmq服务开机自启动
    systemctl enable rabbitmq-server
    
    # 关闭rabbitmq服务
    systemctl stop rabbitmq-server
    
    # 重启rabbitmq服务
    systemctl restart rabbitmq-server
    
    
  7. 安装启动rabbitmqweb管理界面

    # 打开RabbitMQWeb管理界面插件
    rabbitmq-plugins enable rabbitmq_management
    
  8. 添加用户与密码

    # 添加用户
    rabbitmqctl add_user 用户名 密码
    
    # 设置用户角色,分配操作权限
    rabbitmqctl set_user_tags 用户名 角色
    
    # 为用户添加资源权限(授予访问虚拟机根节点的所有权限)
    rabbitmqctl set_permissions -p / 用户名 ".*" ".*" ".*"
    
    权限角色:
        administrator:可以登录控制台、查看所有信息、并对rabbitmq进行管理
    	monToring:监控者;登录控制台,查看所有信息
    	policymaker:策略制定者;登录控制台指定策略
    	managment:普通管理员;登录控制
    # 修改密码
    rabbitmqctl change_ password 用户名 新密码
    
    # 删除用户
    rabbitmqctl delete_user 用户名
    
    # 查看用户清单
    rabbitmqctl list_users
    
  9. 防火墙开放端口

    # 开放端口号:15672
    firewall-cmd --zone=public --add-port=15672/tcp --permanent
    
    # 重启防火墙
    firewall-cmd --reload
    
posted on 2022-10-04 14:24  吃饱饱没烦恼  阅读(207)  评论(0编辑  收藏  举报