【RabbitMQ】基础名词及控制台简单介绍

【RabbitMQ】 基础名词及控制台简单介绍

参考文献:《RabbitMQ实战指南》
其他相关概念和安装请戳:【RabbitMQ】基础相关概念及安装


1.RabbitMQ 基础名词

  • RabbitMQ 模型架构
    我觉得书上这一段说的非常贴切,RabbitMQ本质上就是一种生产者和消费者的模型。
    在这里插入图片描述
    生产者发送消息,消息中包含两个部分,消息标签和消息体,消息体自然就是我们发送的数据,而标签就是这个消息体的标识,就像是http中的header信息,比如一个交换器的名称和一个路由键,这两个都是rabbitmq的名词,等会会有更详细的说明。
    消费者连接到rabbitmq服务器,并订阅一个消息队列,接受队列中的消息,接受到的只是消息体,也不知道生产者是谁,消费的时机和速度等等都可以自己来设置。
    rabbitMQ Broker,其实就是一个服务节点,或者一个服务实例,服务器。上述流程书上也有展示:
    在这里插入图片描述

  • 相关名词
    我们先来看一个大图,里边包含了更加细节的内容
    在这里插入图片描述
    下来我们分别简单介绍各个组件的作用
    • Broker
      服务节点,同上述rabbitMQ Broker,是接收和分发消息的应用,RabbitMQ Server就是 Message Broker。
    • Virtual host
      虚拟主机,也可以简称为虚拟机,出于多租户和安全因素设计的,rabbitMQ把 AMQP 的基本组件都划分到一个虚拟的分组中,类似于网络中的 namespace(命名空间) 概念。当多个不同的用户使用同一个 RabbitMQ server 提供的服务时,可以划分出多个vhost,每个用户在自己的 vhost 创建 exchange/queue 等。
    • Connection
      连接,publisher生产者 和 consumer消费者 与 broker服务节点 之间通信所需的TCP连接。
    • Channel
      信道,信息通道,如果每一次访问 RabbitMQ 都建立一个 Connection,在消息量大的时候建立 TCP Connection的开销将是非常巨大的,效率也较低。Channel 是在 connection 内部建立的逻辑连接,如果应用程序支持多线程,通常每个thread创建单独的 channel 进行通讯,AMQP method 包含了channel id 帮助客户端和message broker 识别 channel,所以 channel 之间是完全隔离的。Channel 作为轻量级的 Connection 极大减少了操作系统建立 TCP connection 的开销。网络IO的模型中也有channel相关概念。
    • Queue
      消息队列,简称队列,生产者发送的消息会被交换机分发,然后被存储在对应的队列中,等待被消费者取走(消费)。
      在这里插入图片描述
      在这里插入图片描述
    • Exchange
      交换机,生产者发出的message到达 broker 的第一站,简写为一个英文大写的X,其根据分发规则,匹配查询表中的 routing key(路由key),分发消息到queue(队列) 中去。常用的类型有三种:direct定向 (point-to-point), topic主题 (publish-subscribe) and fanout广播 (multicast)。
      在这里插入图片描述
    • RoutingKey
      路由key,生产者端发送消息时需要指定的值,就是上述的消息中的消息标签,交换机会根据此路由key,将其分发给对应的队列。
    • Binding 和 BindingKey
      绑定和绑定key,绑定是一个动作,是建立交换机和队列之间连接的动作,绑定key是一个具体的值,在绑定时需要用到,举个栗子,生产者发送的路由key为abc123,发送给了交换机X,这边队列A和交换机X绑定时指定了绑定key为abc123,此时二者匹配,则虚拟机会将此消息转发到队列A中。
      在这里插入图片描述
      补充:
      在这里插入图片描述

2.RabbitMQ 控制台简单介绍

  • Overview

    1. Totals 总览
      所有内容的概览。在这里插入图片描述

    2. Nodes 节点
      可以在这个tab中观测集群中的所有rabbitmq节点状态信息,这里我们没有集群,所以只有本地一个服务节点。
      在这里插入图片描述

    3. 监听的所有端口号Prots以及web信息,是我们的management插件信息。
      在这里插入图片描述

    4. 导入和导出节点定义信息 json格式
      6. 4

  • Connections
    所有和此服务节点连接的信息都可以在此查看,生产者和消费者的连接。在这里插入图片描述

  • Channels
    信息通道,所有和rabbitmq建立连接的信息通道都在次此可以查看,是Connections的子内容。在这里插入图片描述

  • Exchanges
    查看所有的交换机,以及可以在这里通过页面输入的方式创建一个交换机。当然是不建议这么创建的,我们在代码中创建肯定会更加直观,这里也是一种创建渠道,了解即可。里边是默认自带的所有交换机。在这里插入图片描述

  • Queue
    队列,没有默认的队列,默认为空,依旧可以通过页面来创建一个队列。在这里插入图片描述

  • Admin
    用户窗口在这里插入图片描述
    我们可以简单的创建一个用户和一个虚拟主机,
    创建虚拟主机:
    在这里插入图片描述
    在这里插入图片描述
    创建一个新用户,将虚拟主机绑定至新用户:
    在这里插入图片描述
    此时该账户下没有虚拟主机与其对应
    在这里插入图片描述
    绑定虚拟主机,同时将guest的权限去掉:
    在这里插入图片描述
    logout之后使用新用户登录:
    在这里插入图片描述
    OK


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值