rabbitmq基本概念和基本操作基本架构图

什么是消息队列

  • 消息 指的是应用之间传输的数据
  • 消息队列 应用之间通信的一种方式

为什么要用消息队列

消息的发布者不知道谁接受的,消息的接收者不需要知道谁发出的,两者都不需要知道互相之间的存在

异步协作机制

在这里插入图片描述
就像是,快递员与菜鸟驿站

RabbitMQ特点

使用Erlang语言开发的一个AMQP开源

AMQP:Advanced Message Queue ,高级消息队列协议。应用层。方便中间件设计。(一种标准,不受语言限制,符合标准就可以)

  • 集群
  • 高可用
  • 灵活路由
  • 管理界面
  • 跟踪机制
  • 可靠性

RabbitMQ的安装

1、安装Erlong
2、安装RabbitMQ

RabbitMQ的启动和关闭

  • 启动RabbitMQ
    rabbitmq-server start &
[root@rabbit1 ~]# rabbitmq-server start &
[1] 1732
[root@rabbit1 ~]# 
              RabbitMQ 3.3.5. Copyright (C) 2007-2014 GoPivotal, Inc.
  ##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/
  ##  ##
  ##########  Logs: /var/log/rabbitmq/rabbit@rabbit1.log
  ######  ##        /var/log/rabbitmq/rabbit@rabbit1-sasl.log
  ##########
              Starting broker... completed with 0 plugins.

[root@rabbit1 ~]# 

报错处理

这里如果出现报错 可能是/var/lib/rabbitmq/.relang.cookie无权限
解决方案,chown或者chmod
  • 关闭RabbitMQ
    rabbitmq-server stop

RabbitMQ插件管理

  • 添加插件
rabbitmq-plugins enable {插件名}
  • 删除插件
rabbitmq-plugins disable {插件名}
  • 开启浏览器控制面板
rabbitmq-plugins enable rabbit_management

访问地址 http://IP:15672
但登录不进去,因为没用户
  • 添加用户 rabbitmqctl add_user username password
[root@rabbit1 ~]# rabbitmqctl add_user root root
Creating user "root" ...
...done.
  • 删除用户 rabbitmqctl delete_user username password
  • 更改密码 rabbitmqctl change_password username password
  • 设置用户角色 rabbitmqctl set_user_tag username tags
[root@rabbit1 ~]# rabbitmqctl set_user_tags root administration
Setting tags for user "root" to [administration] ...
...done.

tag可以取的值: management monitoring policymarker administator

FROM : https://www.cnblogs.com/iiwen/p/5287790.html
RabbitMQ各类角色描述:
none
不能访问 management plugin

management
用户可以通过AMQP做的任何事外加:
列出自己可以通过AMQP登入的virtual hosts  
查看自己的virtual hosts中的queues, exchanges 和 bindings
查看和关闭自己的channels 和 connections
查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动。

policymaker 
management可以做的任何事外加:
查看、创建和删除自己的virtual hosts所属的policies和parameters

monitoring  
management可以做的任何事外加:
列出所有virtual hosts,包括他们不能登录的virtual hosts
查看其他用户的connections和channels
查看节点级别的数据如clustering和memory使用情况
查看真正的关于所有virtual hosts的全局的统计信息

administrator   
policymaker和monitoring可以做的任何事外加:
创建和删除virtual hosts
查看、创建和删除users
查看创建和删除permissions
关闭其他用户的connections

RabbitMQ权限管理

  • 授权 rabbitmqctl set_permissions [-p vhostpath] {user} {conf} {write} {read}
-p vhostpath : 一个命名空间 ,eg: -p / 表示根命名空间
{user} 用户名
{conf} 一个正则表达式match ,哪些资源能够被用户配置
{write} 一个正则表达式match,哪些资源能够被用户读取
{read} 一个正则表达式match,哪些资源能够被用户访问
  • 查看权限 rabbitmqctl list_permissions vhostpath
查看根路径下的用户权限
rebbitmqctl list_permissions 
查看指定命名空间下的所有用户权限
rabbirmqctl list_permissions /abc
  • 查看指定用户的权限 rabbitmqctl list_user_permissions {username}
  • 清空指定用户的权限 rabbitmqctl clear_permissions {username}
[root@rabbit1 ~]#  rabbitmqctl clear_permissions  root
Clearing permissions for user "root" in vhost "/" ...
...done.
  • vhost管理:vhost类似于windows内的文件夹,在每个文件夹中存放不同的东西
rabbitmqctl add vhost abc
rabbitmqctl delete vhost abc

RabbitMQ消息订阅和发送机制

消费者订阅队列,生产者发送消息,然后发布到队列,最后将消息发送给消费者,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值