前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MQ教程 | AMQP 名词解释(五)

MQ教程 | AMQP 名词解释(五)

作者头像
Tinywan
发布2019-07-19 16:56:23
8370
发布2019-07-19 16:56:23
举报
文章被收录于专栏:开源技术小栈开源技术小栈

本文主要对消息队列 AMQP 涉及的专有名词和术语进行定义和解释,方便您更好地理解相关概念并使用。

Vhost

虚拟主机(Virtual Host),类似于 Namespace 命名空间的概念,逻辑隔离。每个用户可以创建的 Vhost 个数,以及每个 Vhost 里可以创建的 Exchange 和 Queue 个数。

Queue

消息队列,每个消息都会被投入到一个或多个 Queue 里。

Auto Delete

在订阅该 Queue 消息的最后一个 Consumer 取消订阅该 Queue 的消息后,是否自动删除该 Queue。取值说明如下所示:

  • “true”:在订阅该 Queue 消息的最后一个 Consumer 取消订阅该 Queue 的消息后,自动删除该 Queue。
  • “false”:在订阅该 Queue 消息的最后一个 Consumer 取消订阅该 Queue 的消息后,不自动删除该 Queue。

Arguments:针对 Queue 的参数设置,可用于设置死信 Exchange、死信 Routing Key 和消息过期时间。取值说明如下所示:

eadLetterExchange

指定死信消息发往的 Exchange。

  • “DeadLetterRoutingKey”:指定死信消息的 Routing Key,即死信 Exchange 会将消息发往至匹配该死信 Routing Key 的 Binding Key 所对应的 Queue。
  • “MessageTTL”:消息过期时间,单位毫秒(ms)。超过指定时间段内还未被消费的消息是死信消息,该消息将会被发往死信 Exchange。

Producer

消息生产者,即投递消息的程序。

Consumer

消息消费者,即接收消息的程序。

Connection

TCP 连接,Producer 或 Consumer 与消息队列 AMQP 间的物理 TCP 连接。

Channel

在客户端的每个物理 TCP 连接里,可建立多个 Channel,每个 Channel 代表一个会话任务。

Exchange

Producer 将消息发送到 Exchange ,由 Exchange 将消息路由到一个或多个 Queue 中(或者丢弃),Exchange 按照相应的 Binding 逻辑将消息路由到 Queue。

Exchange 类型

  • Fanout:该类型路由规则非常简单,会把所有发送到该 Exchange 的消息路由到所有与它绑定的 Queue 中,相当于广播功能。
  • Direct:该类型路由规则会将消息路由到 Binding Key 与 Routing Key 完全匹配的 Queue 中。
  • Topic:该类型与 Direct 类型相似,只是规则没有那么严格,可以模糊匹配和多条件匹配,即该类型 Exchange 使用 Routing Key 模式匹配和字符串比较的方式将消息路由至绑定的 Queue。

示例:

Routing Key 为 use.stock 的消息会转发给绑定匹配模式为 * .stock、use.stock、 * . * 和 #.use.stock.# 的 Queue;* 表示匹配一个任意词组,# 表示匹配 0 个或多个词组。

Binding

一套绑定规则,用于告诉 Exchange 消息应该被存储到哪个 Queue。它的作用是把 Exchange 和 Queue 按照路由规则绑定起来。

Routing Key

Producer 在发送消息给 Exchange 时,需要指定一个 Routing Key 来设定该消息的路由规则,而 Routing Key 需要与 Exchange 类型及 Binding Key 联合使用才能生效。

一般情况下,Exchange 类型与 Binding Key 配置后,Producer 在发送消息给 Exchange 时,可以通过指定 Routing Key 来决定消息投放到哪个 Queue。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Tinywan的杂货摊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Vhost
  • Queue
  • Producer
  • Consumer
  • Connection
  • Channel
  • Exchange
  • Binding
  • Routing Key
相关产品与服务
消息队列 CMQ 版
消息队列 CMQ 版(TDMQ for CMQ,简称 TDMQ CMQ 版)是一款分布式高可用的消息队列服务,它能够提供可靠的,基于消息的异步通信机制,能够将分布式部署的不同应用(或同一应用的不同组件)中的信息传递,存储在可靠有效的 CMQ 队列中,防止消息丢失。TDMQ CMQ 版支持多进程同时读写,收发互不干扰,无需各应用或组件始终处于运行状态。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档