RabbitMQ消息队列(一):工作模式及AMQP

RabbitMQ消息队列(一):常用工作模式及AMQP

1. AMQP

  • AMQP 一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。
  • AMQP 是一个二进制协议,拥有一些现代化特点:多信道、协商式,异步,安全,扩平台,中立,高效。
  • RabbitMQ 是 AMQP 协议的 Erlang 的实现。

1.1 相关概念

概念说明
连接(Connection)一个网络连接,比如 TCP/IP 套接字连接。
会话 (Session)端点之间的命名对话。在一个会话上下文中,保证“恰好传递一次”。
信道 (Channel)多路复用连接中的一条独立的双向数据流通道。为会话提供物理传输介质。
客户端 ClientAMQP 连接或者会话的发起者。AMQP 是非对称的,客户端生产和消费消息,服务器存储和路由这些消息。
服务节点(Broker)Broker消息中间件的服务节点;一般情况下可以将一个 RabbitMQ Broker 看作一台 RabbitMQ 服务器。
端点AMQP 对话的任意一方。一个 AMQP 连接包括两个端点(一个是客户端,一个是服务器)。
消费者(Consumer)一个从消息队列里请求消息的客户端程序。
生产者(Producer)一个向交换机发布消息的客户端应用程序。

2. RabbitMQ常用工作模式

2.1 简单模式 HelloWorld

​ 一个生产者、一个消费者,不需要设置交换机(使用默认的交换机)。
在这里插入图片描述

2.2工作队列模式 Work Queue

在这里插入图片描述

一个生产者、多个消费者(竞争关系),不需要设置交换机(使用默认的交换机)

2.3 发布订阅模式 Publish/subscribe

在这里插入图片描述
需要设置类型为 fanout 的交换机,并且交换机和队列进行绑定,当发送消息到交换机后,交换机会将消息发送到绑定的队列。

2.4 路由模式 Routing

在这里插入图片描述
需要设置类型为 direct 的交换机,交换机和队列进行绑定,并且指定 routing key,当发送消息到交换机后,交换机会根据 routingkey 将消息发送到对应的队列。

2.5 通配符模式 Topic

在这里插入图片描述
需要设置类型为 topic 的交换机,交换机和队列进行绑定,并且指定通配符方式的 routing key,当发送消息到交换机后,交换机会根据 routing key 将消息发送到对应的队列。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值