后端口试必备:消息队列核心术语详解

打印 上一主题 下一主题

主题 1841|帖子 1841|积分 5523

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
消息队列口试题 - 简述下消息队列核心的一些术语?

回答重点


  • 生产者(Producer):负责向消息队列中发送消息的应用程序或服务。生产者将消息发送到指定的队列或主题(Topic),供消费者消费。
  • 消费者(Consumer):从消息队列中读取和处置处罚消息的应用程序或服务。消费者根据业务逻辑处置处罚收到的消息,并可以向消息队列发送确认。
  • Broker:消息队列的核心组件,负责吸收、存储和分发消息。
  • 队列(Queue):存储消息的容器,消息按照先进先出(FIFO)的次序在队列中存储。队列中的每条消息通常只能被一个消费者消费一次。
  • 主题(Topic):用于在发布/订阅模子中,消息生产者将消息发布到一个主题,多个订阅该主题的消费者可以吸收到雷同的消息。

引言

消息队列(Message Queue)是一种广泛应用于分布式系统中的通信机制,它允许应用程序通过异步的方式通报消息。消息队列的核心模子涉及多个关键术语和概念,理解这些术语对于设计和实现高效的消息系统至关重要。本文将具体先容消息队列的核心术语,并通过流程图帮助读者更好地理解消息的通报过程。
1. 消息队列的核心术语

1.1 生产者(Producer)

生产者是负责向消息队列发送消息的应用程序或服务。生产者将消息发送到指定的队列或主题(Topic),供消费者消费。生产者通常不关心消息的消费过程,只负责将消息发送到消息队列中。
     1.2 消费者(Consumer)

消费者是从消息队列中读取和处置处罚消息的应用程序或服务。消费者根据业务逻辑处置处罚收到的消息,并可以向消息队列发送确认(Ack)。消费者通常以订阅的方式从队列或主题中获取消息。
     1.3 Broker

Broker 是消息队列的核心组件,负责吸收、存储和分发消息。它充当生产者和消费者之间的中介,确保消息的可靠通报。Broker 通常具备高可用性和扩展性,以应对大规模的消息处置处罚需求。
     1.4 队列(Queue)

队列是存储消息的容器,消息按照先进先出(FIFO)的次序在队列中存储。队列中的每条消息通常只能被一个消费者消费一次。队列模子适用于点对点(Point-to-Point)的消息通报场景。
     1.5 主题(Topic)

主题用于在发布/订阅(Pub/Sub)模子中,消息生产者将消息发布到一个主题,多个订阅该主题的消费者可以吸收到雷同的消息。主题模子适用于广播消息的场景。
     2. 消息确认(Ack)

消费者处置处罚完消息后,向消息队列系统发送确认信号(Acknowledgment)。如果消息队列未收到确认,消息会被重新投递给其他消费者,包管消息不会丢失。
     3. 死信队列(DLQ, Dead Letter Queue)

当消息因为消费失败、多次重试后未成功处置处罚、消息过期或队列到达最大长度等缘故原由被丢弃时,消息可以被转移到死信队列。死信队列用于记录这些未能成功消费的消息,以便后续分析或人工处置处罚。
     4. NameServer(命名服务)

NameServer 提供了服务发现和负载均衡的功能。在分布式消息队列(如 RocketMQ)中,用于管理 Broker 的地址列表,消费者和生产者通过 NameServer 找到 Broker 并进行消息的通报。
     5. 集群(Cluster)

为了提高消息队列的可靠性和处置处罚能力,将多个 Broker 构成一个集群。集群架构可以在一个 Broker 发生故障时,包管消息服务的高可用性。
     6. 分区与队列

为了提高并发度,发布/订阅模子还会引入队列或者分区的概念。消息是发往一个主题(Topic)下的某个队列或者某个分区中。RocketMQ 中叫队列(MessageQueue),Kafka 叫分区。
     7. Offset

Offset 可以以为是每条消息在分区(队列)中的唯一编号,消费者必要记录自己的消费位点,以便在恢复时继承消费未处置处罚的消息。Kafka 和 RocketMQ 有这个概念,RabbitMQ 没有。
     8. 消费组(Consumer Group)

消费组用于协调消费者并行消费消息。在 Kafka 中同一消费组内的消费者共享同一个 Topic 下的分区,一个分区只会被组内的一个消费者消费。在 RocketMQ 中同一消费组内的消费者共享同一个 Topic 下的队列,一个队列只会被组内的一个消费者消费。
     9. 消费组的消费环境

假设现在有两个消费组分别是 Group1 和 Group2,它们都订阅了 Topic-a。此时有一条消息发往 Topic-a,那么这两个消费组都能吸收到这条消息。这条消息实际是写入 Topic 某个队列中的,消费组中的某个消费者对应消费一个队列的消息。
     10. 总结

消息队列的核心术语涵盖了从消息的生产、存储、通报到消费的整个过程。理解这些术语有助于更好地设计和实现高效、可靠的消息系统。
     通过以上内容,具体先容了消息队列的核心术语,希望这篇文章能够帮助您更好地把握消息队列的核心概念。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

天空闲话

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表