首页 > 其他分享 >RabbitMQ

RabbitMQ

时间:2022-12-07 18:32:32浏览次数:70  
标签:队列 模式 工作 交换机 消息 RabbitMQ


1.消息队列的应用场景

1.1 任务异步处理

1.2 应用程序解耦合

2.RabbitMQ优势

2.1 基于AMQP协议 VS JMS(java 消息中间件的api,类似jdbc)

2.2 springboot集成

3.RabbitMQ组成和工作原理

3.1 组成:

RabbitMQ_spring boot

Broker: 消息队列服务进程,此进程包括两个部分:Exchange和Queue

Exchange: 消息队列交换机,按一定的规则将消息路由转发到某个队列,对消息进行过滤

        其中,交换机的类型有:

        fanout: 对应 publish subscribe 工作模式

        direct: 对应 routing 工作模式

        topic: 对应 topics 工作模式

        headers: 对应 headers 工作模式

RoutingKey: 路由/转发规则

Queue: 消息队列,存储消息的队列

Producer: 消息生产者

Consumer: 消息消费者

Connection: 大连接

Channel:大连接里面的小连接

3.2 工作原理:

RabbitMQ_消息队列_02

RabbitMQ_消息队列_03

4.生产者消费者入门

​Messaging that just works — RabbitMQ​

5.工作模式

5.1 work queues 工作队列:一个消息只会被一个消费者接收,多人一起干一个活

RabbitMQ_工作模式_04

5.2 publish subscribe 发布订阅:一个消息可以被多个消费者接收,包含工作队列模式

RabbitMQ_rabbitmq_05

5.3 routing 路由:需要设置一个或多个RoutingKey, 比发布订阅模式多了一层判断(RoutingKey),包含发布订阅模式

RabbitMQ_工作模式_06

5.4 topics 通配符

RabbitMQ_rabbitmq_07

RabbitMQ_rabbitmq_08

5.5 header 转发器

RabbitMQ_rabbitmq_09

5.6 rpc 远程过程调用

RabbitMQ_java-rabbitmq_10

6.springboot整合

6.1 POM: spring-boot-start-amqp

6.2 yml

6.3 config

声明交换机,声明队列,绑定交换机和队列

6.4 producer和consumer

Producer: RabbitTemplate

Consumer: RabbitListener

标签:队列,模式,工作,交换机,消息,RabbitMQ
From: https://blog.51cto.com/u_15905340/5919913

相关文章

  • docker 部署 rabbitmq(持久化) 和postgresql redis mysql
    rabbitmq:dockerrun-d--hostname=rabbitmq--restart=always-eRABBITMQ_DEFAULT_USER=admin-eRABBITMQ_DEFAULT_PASS=admin--name=rabbitmq-p5672:5672-p15672......
  • RabbitMQ 实现延时队列
    1. 消息的TTL(TimeToLive)消息的TTL就是消息的存活时间。RabbitMQ可以对队列和消息分别设置TTL。对队列设置就是队列没有消费者连着的保留时间,......
  • 使用Spring Cloud Stream 驱动 RabbitMQ 代码示例
    1、SpringCloudStream官方文档官方配置文档参考:SpringCloudStreamReferenceDocumentationSpringCloudStreamRabbitMQBinderReferenceGuide说明:在网上查......
  • RabbitMQ 6种模式的练习,以及知识梳理
    常用的模式有Simple、Work、Fanout、Direct、Topic、Headers,可以通过设置交换机类型和配置参数来实现各个模式简单模式(Simple)工作模式(Work)工作模式是考虑到多个消......
  • bug处理,rabbitMQ:ERROR 9392 o.s.a.r.l.SimpleMessageListenerContainer : Failed to
    layout:posttitle:bug处理,rabbitMQ:ERROR9392o.s.a.r.l.SimpleMessageListenerContainer:Failedtocheck/redeclareauto-deletequeue(s)date:2022-09-29tags:......
  • RabbitMQ
    初识MQ1.同步和异步通讯微服务间通讯有同步和异步两种方式:同步通讯:就像打电话,需要实时响应。异步通讯:就像发邮件,不需要马上回复。两种方式各有优劣,打电话可以立即得到......
  • Mac 下erlang及rabbitmq安装
    ---------------------------------------1、首先,安装Homebrew安装Homebrew遇到的问题参考这个链接2、安装erlang环境brewinstallerlang3、安装rabbitmqbrewinstallr......
  • SpringCloud中Rabbitmq
    1.pom配置,添加以来jar包1<dependency>2<groupId>org.springframework.cloud</groupId>3<artifactId>spring-cloud-starter-bus-amqp</artifactId>4</depen......
  • SpringCloud中Rabbitmq的使用
    1.pom配置,添加以来jar包 pom配置2.配置文件配置setting.properties3.rabbitmq消息发送一 发送消息4.rabbitmq消息接收一 接受消息5.rabbitmq发送二 发送mq消......
  • SpringCloud中Rabbitmq的使用
    1#RabbitMq2spring.rabbitmq.host=${dev.spring.rabbitmq.host}3spring.rabbitmq.port=${dev.spring.rabbitmq.port}4spring.rabbitmq.username=${dev.spring.ra......