RabbitMQ简介与安装

介绍

来自百度百科

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。

作用

  • 解耦:服务应用之间通过MQ连接,服务之间由强依赖转变为弱依赖
  • 削峰填谷:短暂一段时间内挤压的消息,慢慢处理,起到削峰填谷
  • 消息通讯:点对点、发布订阅式

MQ对比

在这里插入图片描述
图片来自网上。选择哪种MQ根据实际情况而定

集群模式

  • 主从:master 主节点负责读写,挂了切到slave 上
  • 镜像集群:高可用集群,低延迟、不会丢数据。由于是镜像模式每个集群都是全量数据,横向扩容比较难,节点越多写入比较麻烦,吞吐量会降低
  • 多活集群:异地容灾,数据拷贝,集群内部负载均访问,外部异地集群通过一些插件实现数据同步、复制

RabbitMQ安装

# 安装erlang 
wget https://github.com/rabbitmq/erlang-rpm/releases/download/v22.3.4.5/erlang-22.3.4.5-1.el7.x86_64.rpm
rpm -ivh erlang-22.3.4.5-1.el7.x86_64.rpm 
#验证是否成功
erl v 
# 下载rabbitMQ
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.6/rabbitmq-server-3.8.6-1.el7.noarch.rpm
rpm -ivh rabbitmq-server-3.8.6-1.el7.noarch.rpm
# 安装可能会出现错误 warning: rabbitmq-server-3.8.6-1.el8.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 6026dfca: NOKEY error: Failed dependencies:        socat is needed by rabbitmq-server-3.8.6-1.el8.noarch, 需要安装  socat
yum -y socat #安装好 socat 重试即可
rabbitmq 安装目录: /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.6

#启动
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.6
# 开机启动
chkconfig rabbitmq-server on
/sbin/service rabbitmq-server start
#停止
/sbin/service rabbitmq-server stop
# 查看插件
rabbitmq-plugins list
# 配置客户端插件
rabbitmq-plugins enable  rabbitmq_management

rabbitmq 端口默认:5672, 客户端默认端口:15672

默认 guest/guest 可能不能登陆,新增一个 admin 用户,等即可

常用命令

# 关闭应用
rabbitmqctl stop_app
# 启动应用
rabbitmqctl start_app
# 节点状态
rabbitmqctl status
#集群状态
rabbitmqctl cluster_status 
# 添加用户密码
rabbitmqctl add_user admin admin
# 用户授权
rabbitmqctl set_user_tags admin administrator
# 修改用户密码
rabbitmqctl change_password username password
# 列出所有用户
rabbitmqctl list_users
# 删除用户
rabbitmqctl delete_user username
# 列出用户权限
rabbitmqctl list_user_permissions username
# 清除用户权限
rabbitmqctl clear_permissions -p vhostpath username
# 设置用户权限
# 三个*对应:configure write read
rabbitmqctl set_permissions -p vhostpath username ".*" ".*" ".*"
rabbitmqctl set_permissions -p / ikang".*" ".*" ".*"
# 列出所有虚拟主机
rabbitmqctl list_vhosts
# 创建虚拟主机
rabbitmqctl add_vhost vhostpath
# 列出虚拟主机的权限
rabbitmqctl list_permissions -p vhostpath
# 删除虚拟主机
rabbitmqctl delete_vhost vhostpath
# 查看所有队列
rabbitmqctl list_queues
# 清除队列里的消息
rabbitmqctl -p vhostpath purge_queue queueName
# 清除所有数据
rabbitmqctl reset
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值