0


消息中间件的选择:RabbitMQ是一个明智的选择

在这里插入图片描述

💗wei_shuo的个人主页

💫wei_shuo的学习社区

🌐Hello World !


MQ(Message Queue)

MQ(消息队列)是一种用于在应用程序之间进行异步通信的技术;允许应用程序通过发送和接收消息来进行解耦和协同工作

消息生产者(Producer):负责创建和发送消息到消息队列中;它将消息发送到指定的队列或主题

消息队列(Message Queue):是消息的缓冲区,用于存储生产者发送的消息;消息队列可以采用不同的模式,如点对点(Point-to-Point)和发布/订阅(Publish/Subscribe)模式

消息消费者(Consumer):负责从消息队列中接收和处理消息;消费者可以订阅一个队列或主题,并从中接收消息

在这里插入图片描述

RabbitMQ

在这里插入图片描述

RabbitMQ是一个开源的消息队列系统,它实现了高级消息队列协议(AMQP)标准;RabbitMQ提供了可靠的消息传递机制,使应用程序能够在分布式系统中进行可靠的异步通信

SpringAMQP

在这里插入图片描述

Spring AMQP是一个基于Spring框架的开源项目,用于简化使用AMQP(高级消息队列协议)的应用程序的开发;它提供了与AMQP兼容的消息传递的抽象和封装,使开发人员能够更轻松地使用消息队列系统,如RabbitMQ

  • 用于异步处理入站消息的侦听器容器
  • 用于发送和接收消息的RabbitTemplate
  • RabbitAdmin用于自动声明队列,交换和绑定
  • 消息(Message):在RabbitMQ中,消息是信息的载体,可以是任何形式的数据。它通常包含一个消息体和一些可选的属性;消息可以由生产者发布到交换机,然后由交换机路由到一个或多个队列中
  • 交换机(Exchange):交换机是消息的分发中心;它接收生产者发布的消息,并根据预定义的路由规则将消息路由到一个或多个队列中;RabbitMQ提供了几种类型的交换机,包括直连交换机(direct)、主题交换机(topic)、扇形交换机(fanout)和标头交换机(headers),以满足不同的消息路由需求
  • 队列(Queue):队列是消息的缓冲区,用于存储交换机发送过来的消息。消费者可以从队列中订阅并获取消息进行处理;RabbitMQ支持多个消费者同时订阅同一个队列,采用竞争消费模式
  • 绑定(Binding):绑定是交换机和队列之间的关联关系。它定义了消息从交换机路由到哪些队列中;绑定通常包括一个交换机名称、一个队列名称和一个路由键(Routing Key);路由键在直连交换机和主题交换机中起到关键作用,用于匹配消息和队列
  • 生产者(Producer):生产者是消息的发送者,它将消息发布到RabbitMQ的交换机中;生产者可以选择指定消息的交换机、路由键和其他属性
  • 消费者(Consumer):消费者是消息的接收者,它从队列中订阅并获取消息进行处理;消费者可以选择指定要消费的队列,并可以设置消息的确认机制、并发控制
  • 虚拟主机(Virtual Host):虚拟主机提供了逻辑上的隔离,允许在同一个RabbitMQ服务器上创建多个独立的消息代理;每个虚拟主机都有自己的交换机、队列和权限控制
  • 持久化(Durability):RabbitMQ支持将交换机和队列设置为持久化,以确保在服务器重启或崩溃后仍然存在;持久化的消息也可以在重启后恢复
  • 消息确认(Message Acknowledgment):消费者可以使用消息确认机制来确保消息被成功处理;一旦消费者确认接收到消息并完成处理,RabbitMQ将从队列中删除该消息;如果消费者在处理消息时发生错误,消息可以重新投递或进入死信队列
  • 高可用性和可扩展性:RabbitMQ支持集群部署,通过在多个节点上复制队列和交换机来提供高可用性和可扩展性;集群中的节点可以相互同步消息和状态,以实现负载均衡和故障转移

🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请——

点赞

👍

收藏

⭐️

评论

📝


在这里插入图片描述

标签: rabbitmq 分布式

本文转载自: https://blog.csdn.net/weixin_62765017/article/details/132245500
版权归原作者 wei_shuo 所有, 如有侵权,请联系我们删除。

“消息中间件的选择:RabbitMQ是一个明智的选择”的评论:

还没有评论