首页 > 自考资讯 > 自考知识

消息队列mq原理,消息队列mq的使用场景

头条共创 2024-07-05

“消息队列”是指存储正在发送的消息的容器。队列的主要用途是:

提供路由并保证消息传递。如果发送消息时收件人不可用,则消息队列会保留该消息,直到消息成功传递为止。消息队列中间件是分布式系统中的重要组件,主要解决应用隔离、异步消息传递、流量减少等问题,提供高性能、高可用性、可扩展性和最终一致的架构。示例:ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ

主要角色

生产者:消息生产者。负责生成消息并将其发送给代理。 Broker:消息处理中心。负责保存消息、检查消息、重试消息等。通常包含多个队列。消费者:消息消费者。它负责从代理检索消息并进行相应的处理。01d61b1282854e18b30f47a10b4bfd60~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720760398&x-signature=f3CTWki6yAHfEr%2Blk%2BFiY9fu0PU%3D

消息队列两种模式

JMS规范目前支持两种消息模型:点对点(队列)和发布/订阅(发布/订阅、主题)。

1.点对点模式:无重复消费

此时,只有一个消费者可以消费该消息,该消息将从队列中移除,其他消费者无法处理该消息。多个生产者可以将消息发送到同一个消息队列。如果某个消费者处理消息失败,它必须将消息返回到队列中,其他消费者才能继续处理。 2.发布/订阅模型:可重复消费。多个订阅者可以同时检索和处理一条消息。

临时订阅仅在使用者运行时存在。当消费者终止时,其相应的订阅和未处理的消息将丢失。除非删除,否则持久订阅始终存在。消费者终止后,消息系统继续维持订阅并可以继续处理后续消息。23ea0db7328748c6b65a38f2e02caa55~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720760398&x-signature=TlLoDddjd7VZOiam7SC1z%2F56%2Bx0%3D

应用场景以及特点

异步、应用隔离、流量断开。

异步

2f1c5a8192e246beada8b417bb443f69~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720760398&x-signature=fE4%2FLKISY1i%2B%2FmuUITuojFZJb%2B8%3D

应用解耦

611f9a675b98495d903f7be7e81e0f8e~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720760398&x-signature=8jS77XWwGzuY4OBE%2BHqYhffpJLc%3D

流量削锋

使用消息队列作为通用“载体”。

8d2f673034d846d5b6be4a0a192d6959~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1720760398&x-signature=itI%2BdHucPwO25yxiy7s0rvFTDa4%3D

版权声明:本文转载于今日头条,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢