【消息队列开发】 背景知识与需求分析

文章目录

  • 前言
  • 消息队列背景知识
  • 需求分析
    • 核心概念
    • 核心API
    • 交换机类型(Exchange Type)
    • 持久化
    • 网络通信
    • 消息应答
    • 模块划分
  • ⭕总结

前言

博主将从零开始开发一个消息队列的项目,今天是项目的第一天。

今天我们的任务有以下两点:

  1. 了解消息队列的背景知识
  2. 对该项目进行需求分析,为后续开发项目有一个前进的方向

消息队列背景知识

在实际的后端开发中,尤其是分布式系统⾥,跨主机之间使⽤⽣产者消费者模型,也是⾮常普遍的需求.

因此,我们通常会把阻塞队列,封装成⼀个独⽴的服务器程序,并且赋予其更丰富的功能.

这样的程序我们就称为消息队列(Message Queue, MQ)

市面上成熟的消息队列⾮常多.

  • RabbitMQ
  • Kafka
  • RocketMQ
  • ActiveMQ

其中,RabbitMQ 是⼀个非常知名,功能强⼤,⼴泛使⽤的消息队列.

这里咱们就仿照RabbitMQ,模拟实现⼀个简单的消息队列.

需求分析

我们先来理解一下几个核心概念

核心概念

  • 生产者(Producer)

  • 消费者(Consumer)

  • 中间⼈(Broker)

  • 发布(Publish)

  • 订阅(Subscribe)

几者关系如下图所示:

⼀个生产者,⼀个消费者

你可能感兴趣的:(消息队列开发,spring,java,消息队列,spring,boot,mybatis)