【rabbitMq学习2】三种编程模型

RabbitMQ的基础使用概念

Exchange: 交换机,向队列路由消息
Queue: 队列,存储和转发消息
VisualHost: 虚拟主机,相当于数据库的库名

Connection: 连接
Channel: 消息发送的通道,通常以个Connection可以提供多个Channel

RabbitMQ的两种新队列模型

Classic 经典队列

Quorum仲裁队列

使用Raft协议持久化的队列

Stream

3.9版本开始引入的队列,核心是以append-only只添加的日志来记录消息,整体来说就是消息将以
append-only的方式持久化到日志文件中。

  1. large fan-outs 大规模分发

  2. Replay/Time-travelling 消息回溯

  3. Throughtput Performance 高吞吐性能

  4. Large logs大日志
    大规模消息进来,性能下降明显。Stream表现会好一点。
    Stream队列的设计目标是以最小的内存开销高效地存储大量的数据。

远景:Quorum队列全量替换Classic队列

RabbitMQ原生API

Spring Boot框架集成RabbitMQ

Spring Cloud Stream 集成RabbitMQ