编辑
2025-10-31
Kakfa
00

目录

一、消息队列的相关几个概念
二、消息队列(MQ)分类
三、常见消息系统

一、消息队列的相关几个概念

  • 消息(Message):网络中的两台计算机或者两个通讯设备之间传递的数据就是消息,如:文本、音频、视频等。
  • 队列(Queue):一种特殊的线性表(理解:有一定顺序的元素排列,如排队)特殊之处在于它只允许在首部删除元素(队首取出数据),在尾部添加元素(队尾添加数据)。类似羽毛球筒,在一头放,另一头取
  • 消息队列(MQ):保存消息的队列,是消息在传输过程中的容器。主要提供生产和消费接口供外部调用,进行数据的存储和获取。

二、消息队列(MQ)分类

  • 主要分为两类:点对点(PeertoPeer)、发布/订阅(Publish/Subscribe)

  • 共同点:消息生产者(Producer)生产消息发送到队列中,然后消息消费者(Consumer)从队列中读取并消费消息。

  • 不同点:

  • 1)点对点:

  • 组成:消息队列(Queue)、发送者(Sender)、接收者(Receiver】

  • 一个生产者生产的消息只能有一个消费者,消息一旦被消费,消息就不在消息队列中了,如:打电话,

  • 即发送到消息队列的消息能且只能被一个接收者接收

  • 2).发布/订阅:

  • 组成:消息队列(Queue)、发布者(Publisher)、订阅者(Subscriber)、主题(Topic)需要有讨论的主题,如这堂课讲的什么主题,这份报纸讲的什么新闻主题

  • 每个消息可以有多个消费者,彼此互不影响,即发布到消息队列的消息能被多个接收者(订阅者)接收。

  • 如:我发布一个微博,关注我的人都能看到,很多人订阅了同一个公众号,公众号内容一更新,很多人都能收到

三、常见消息系统

  • ActiveMQ:历史悠久,支持性较好,性能相对不高
  • RabbitMQ:可靠性高、安全
  • Kafka:分布式、高性能、高吞吐量、跨语言
  • RocketMQ:阿里开源的消息中间件,纯Java实现

image.png

image.png

本文作者:松轩(^U^)

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

Document