zl程序教程

您现在的位置是:首页 >  后端

当前栏目

如何设计一个消息中间件? 消息中间件的总体架构

架构 如何 一个 设计 总体 消息中间件
2023-09-14 09:07:21 时间

MQ 概念

1.消息(Message)

消息是MQ中最小的概念,本质上就是一段数据,它能被一个或者多个应用程序所理解,是应用程序之间传递的信息载体。

2.队列(Queue)

2.1 本地队列

本地队列按照功能可划分为初始化队列,传输队列,目标队列和死信队列。

初始化队列用作消息触发功能。

传输队列只是暂存待传的消息,条件许可的情况下,通过管道将消息传送到其他的队列管理器。

目标队列是消息的目的地,可以长期存放消息。

如果消息不能送达目标队列,也不能再路由出去,则被自动放入死信队列保存。

2.2 别名队列&远程队列

只是一个队列定义,用来指定远端队列管理器的队列。使用了远程队列,程序就不需要知道目标队列的位置。

2.3 模型队列

模型队列定义了一套本地队列的属性结合,一旦打开模型队列,队列管理器会按照这些属性动态地创建出一个本地队列。

3.队列管理器(Queue Manager)

队列管理器是一个负责向应用程序提供消息服务的机构,如果把队列管理器比作数据库,那么队列就是其中一张表。

4.通道(Channel)

通道是两个管理器之间的一种单向点对点的的通信连接,如果需要双向交流,可以建立一对通道。

5.监听器(listener)

MQ产品的特性

可靠性传输

这个特点可以说是消息中间件的立足之本,对于应用来说,只要成功把数据提交给消息中间件,那么关于数据可靠传输的问题就由消息中间件来负责。

不重复传输

不重复传播也就是断点续传的功能,特别适合网络