美文网首页
RabbitMQ,消息中间件的AMQP协议的结构

RabbitMQ,消息中间件的AMQP协议的结构

作者: javap | 来源:发表于2020-02-29 12:15 被阅读0次

知识要点:

RabbitMQ几大组件

交换器类型

RabbitMQ运行流程

Connection与Channel

生产者运行流程

消费者运行流程

AMQP协议中的相关指令

细说交换器

RabbitMQ几大组件

生产者
消息
消费者
Broker:消息中间件的服务节点


队列: RabbitMQ中消息只能存储在队列上,RabbitMQ不支持队列层面的广播
交换器:交换器仅仅对消息进行转发,有不同的交换器类型(如: fanout. direct. topic、 headers)
路由键:交换器与队列的关系,通过绑定键(BindingKey, 称为路由键)建立绑定

消息是发送到交换器上,然后通过路由键来确认应该存放在哪个队列上,如果路由不到, 消息可能会丢失、返回给生产者
交换器类型

fanout (分列) : 它会把所有发送到该交换器的消息,路由到所有与该交换器绑定的队列中;

RabbitMQ运行流程

生产者发送消息
1.生产者与Broker建立连接(Connection) ,开启信道(Channel)
2.生产者声明交换器(交换器类型、是否持久化、是否自动删除等)
3.生产者声明队列(是否持久化、是否排他、是否自动删除)
4.生产者通过路由键将交换器和队列绑定
5.生产者发送消息至Broker (携带路由键等)
6.交换器根据接收到的路由键,以及交换器类型查找匹配的队列
7.找到,队列将消息存入相应队列中
8.找不到,则根据生产者的配置,选择丢弃还是回退给生产者
9.关闭信道
10.关闭连接
消费者接收消息
1.消费者与Broker建立连接(Connection) ,开启信道(Channel)
2.消费者向Broker请求消费相应队列的消息,可能设置回调函数
3.等待Broker回应并投递相应队列中的消息,接收消息
4.消费者确认(ack) 接收到的消息
5.RabbitMQ从队列中删除相应已经被确认的消息
6.关闭信道
7.关闭连接

Connection.与Channel?

RabbitMQ所有的AMQP指令都是通过信道完成的。
RabbitMQ的ChanneI与Netty中的NIO模型区别在于Channe|是建立在TCP连接之上的。

生产者流程

消费者流程

AMQP协议中的指令

相关文章

  • Spring Boot系列教程之7步集成RabbitMQ的方法

    前言RabbitMQ是一种我们经常使用的消息中间件,RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件...

  • spring boot 中使用 RabbitMQ 教程一 简单的

    RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服...

  • 如何通过kubernetes-部署RabbitMQ

    RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服...

  • RabbitMQ

    RabbitMQ简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件...

  • RabbitMQ基础知识介绍

    RabbitMQ 介绍 RabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系...

  • RabbitMQ

    RabbitMQ是实现AMQP(高级消息队列协议)消息中间件的一种, kafuka是另外一种RabbitMQ主要是...

  • Spring Boot (5) 整合 RabbitMQ

    一、前言 RabbitMQ是实现了AMQP(高级消息队列协议)的开源消息中间件,RabbitMQ服务器是用Erla...

  • RabbitMQ零碎整理

    RabbitMQ 概念MQ:消息队列(消息中间件),开源的基于AMQP协议的消息中间件,异步 解耦 削峰核心作用:...

  • 消息中间件系列小记---1.初探RabbitMQ

    概念 什么是rabbitmq? RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,主要是为了实...

  • Redis与RabbitMQ对比

    一、简要介绍 RabbitMQ RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金...

网友评论

      本文标题:RabbitMQ,消息中间件的AMQP协议的结构

      本文链接:https://www.haomeiwen.com/subject/ehxphhtx.html