0
点赞
收藏
分享

微信扫一扫

Python高级数据结构——B树和B+树

洲行 2023-12-08 阅读 49

本篇文章学习于 bilibili黑马 的视频 (狗头保命)

同步通讯 & 异步通讯 (RabbitMQ 的前置知识)

  • 同步通讯:类似打电话,只有对方接受了你发起的请求,双方才能进行通讯, 同一时刻你只能跟一个人打视频电话。
  • 异步通讯:类似发信息,不用对方接受,你就可以直接发信息,而且可以多线操作,同时跟多人发信息。






开启 RabbitMQ

在这里插入图片描述

在这里插入图片描述

RabbitMQ


RabbitMQ对应的架构

黑马的图

  • publisher:生产者,也就是发送消息的一方
  • consumer:消费者,也就是消费消息的一方
  • queue:队列,存储消息。生产者投递的消息会暂存在消息队列中,等待消费者处理
  • exchange:交换机,负责消息路由。生产者发送的消息由交换机决定投递到哪个队列。
  • virtual host:虚拟主机,起到数据隔离的作用。每个虚拟主机相互独立,有各自的exchange、queue

简单的收发消息 (exchange & queue)

1. 添加 exchange

在这里插入图片描述

2. 添加 queue

在这里插入图片描述

3. 绑定 exchange 和 queue

4. 发送消息

5. 查看接受的消息


数据隔离

Spring AMQP

项目中使用 RabbitMQ

发送消息

<dependencies>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    <!--AMQP依赖,包含RabbitMQ-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-amqp</artifactId>
    </dependency>
    <!--单元测试-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
    </dependency>
</dependencies>

接收消息

WorkQueues模型

在这里插入图片描述

如何才能使得能者多劳, 不会浪费效率呐?

引入交换机之后的 生产者消费者模型

在这里插入图片描述

Fanout 交换机

发送消息, 并接收处理

Direct 交换机

在这里插入图片描述

Tocpic 交换机

在这里插入图片描述

声明队列和交换机

Fanout 实例

Direct示例 (Topic 与其几乎完全相同)

基于注解声明

Fanout 示例

Direct示例 (Topic 与其几乎完全相同)

举报

相关推荐

0 条评论