RabbitMQ介绍

简介

消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。
其主要用途:不同进程Process/线程Thread之间通信。

RabbitMQ:是一个开源的,在AMQP基础上完整的,可复用的企业级的消息系统 支持主流操作系统:Linux,Windows,Mac
支持主流语言:Java,Python,Ruby,.NET,PHP,c/c++,node.js
开发语言:Erlang – 面向并发的编程语言。

用途

  1. 降低耦合,通过消息队列实现系统解耦,解决过度RPC(Remote Procedure Call)的问题。
  2. 流量削峰, 设置流量缓冲池
  3. 强弱依赖梳理,将非关键调用链路的操作异步化,提升整体系统的吞吐能力

安装方法

  1. 下载epel源:
yum install -y epel-release
  1. 设置epel源为国内源:
sudo sed -e 's!^mirrorlist=!#mirrorlist=!g' \
-e 's!^#baseurl=!baseurl=!g' \
-e 's!//download.fedoraproject.org/pub!//mirrors.ustc.edu.cn!g' \
-e 's!http://mirrors\.ustc!https://mirrors.ustc!g' \
-i /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo
  1. 安装erlang语言包
yum -y install erlang
  1. 安装RabbitMQ
yum -y install rabbitmq-server
  1. 启动后台管理插件
进入Rabbitmq安装目录,运行rabbitmq-plugins enable rabbitmq_management

常用命令

  1. 启动/停止/重启/查看状态RabbitMQ
systemctl start/stop/restart/status rabbitmq-server
  1. 用户操作
// 新建用户
rabbitmqctl add_user {用户名} {密码}
// 设置权限
rabbitmqctl set_user_tags {用户名} {权限}
// 查看用户列表
rabbitmqctl list_users
// 为用户授权
添加 Virtual Hosts :    
rabbitmqctl add_vhost <vhost>    
// 删除用户
rabbitmqctl delete_user Username
// 修改用户的密码
rabbitmqctl change_password Username Newpassword
// 删除 Virtual Hosts :    
rabbitmqctl delete_vhost <vhost>    
// 添加 Users :    
rabbitmqctl add_user <username> <password>    
rabbitmqctl set_user_tags <username> <tag> ...    
rabbitmqctl set_permissions [-p <vhost>] <user> <conf> <write> <read>    
// 删除 Users :    
delete_user <username>   
// 使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源
rabbitmqctl  set_permissions -p vhost1 user1 '.*' '.*' '.*' 
// 查看权限
rabbitmqctl list_user_permissions user1
rabbitmqctl list_permissions -p vhost1
// 清除权限
rabbitmqctl clear_permissions [-p VHostPath] User
用户操作举例
# 设置新用户lhx 密码123
rabbitmqctl add_user lhx 123
# 设置用户为administrator角色
rabbitmqctl set_user_tags lhx administrator
# 设置权限,允许对所有的队列都有权限
rabbitmqctl set_permissions -p "/" lhx ".*" ".*" ".*"
# 重启服务生效设置
systemctl restart rabbitmq-server

清空队列步骤

# 1.清空队列步骤
rabbitmqctl reset 
# 2.需要提前关闭应用
rabbitmqctl stop_app 
# 3.然后再清空队列,启动应用
rabbitmqctl start_app
# 4.此时查看队列rabbitmqctl 
list_queues

查看基本信息

查看所有的exchange:                                
rabbitmqctl list_exchanges
查看所有的queue:                                   
rabbitmqctl list_queues
查看所有的用户:                                   
rabbitmqctl list_users
查看所有的绑定(exchange和queue的绑定信息):          
rabbitmqctl list_bindings
查看消息确认信息:
rabbitmqctl list_queues name messages_ready messages_unacknowledged
查看RabbitMQ状态,包括版本号等信息:
rabbitmqctl status

端口信息

4369 -- erlang发现口

5672 --client端通信口,客户端连接端口

15672 -- 管理界面ui端口  需要安装management插件。

25672 -- server间内部通信口
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值