消息队列RabbitMQ

本文介绍了使用Docker部署RabbitMQ,包括如何获取management版本镜像,设置环境变量,创建容器,并详细解释了RabbitMQ的基本组件如Exchange、Queue和BindingKey。还提到了SpringBoot项目的集成,包括依赖配置、生产者和消费者的实现,并讨论了解决消费者运行时的序列化问题。
摘要由CSDN通过智能技术生成

服务之间最常见的通信方式是直接调用彼此来通信。

消息从一端发出后立即就可以达到另一端,称为即时消息通讯(同步通信)。

消息从某一端发出后,首先进入一个容器进行临时存储,当达到某种条件后,再由这个容器发送给另一端,称为延迟消息通讯(异步通信)。

AMQP

一个提供统一消息服务的应用层标准高级消息队列协议,是一个通用的应用层协议。

消息发送与接受的双方遵守这个协议可以实现异步通讯,这个协议约定了消息的格式和工作方式。

RabbitMQ

是一个实现了AMQP(Advanced Message Queuing Protocol)高级消息队列协议的消息队列服务,用Erlang语言。

Server(Broker):接收客户端连接,实现AMQP协议的消息队列和路由功能的进程。

Virtual Host:虚拟主机的概念,类似权限控制组,一个Virtual Host里可以有多个Exchange和 Queue。

Exchange:交换机,接收生产者发送的消息,并根据Routing Key将消息路由到服务器中的队列 Queue。

ExchangeType:交换机类型决定了路由消息行为,RabbitMQ中有三种类型Exchange,分别是 fanout、direct、topic. Message Queue:消息队列,用于存储还未被消费者消费的消息。

Message:由Header和body组成,Header是由生产者添加的各种属性的集合,包括Message是 否被持久化、优先级是多少、由哪个Message Queue接收等。body是真正需要发送的数据容。

 BindingKey:绑定关键字,将一个特定的Exchange和一个特定的Queue绑定起来。

docker

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值