rabbitMQ的知识点

RabbitMQ是一种消息队列软件,它实现了高度可靠的消息传递机制。RabbitMQ支持多种消息协议,包括AMQP、STOMP、MQTT等,比较灵活。以下是一些rabbitmq的知识点:

  1. 消息队列:消息队列是一种分布式系统中广泛使用的通信模式,其中应用程序可以通过发送和接收消息实现异步通信。RabbitMQ的主要目的就是在应用程序之间传递消息。

  2. 消息传递模型:RabbitMQ提供了两种消息传递模型:发布-订阅和点对点。发布-订阅模型允许多个消费者在同一时间收到同一消息。点对点模型只有一个消费者可以收到消息。

  3. Exchange:Exchange是一种消息路由器,用于将消息路由到一个或多个队列。Exchange有四种类型:direct、fanout、topic和headers,每种类型都有不同的路由规则。

  4. Queue:消息队列是RabbitMQ中存储消息的实体。队列具有名称,并根据名称进行访问。消息可以通过Exchange路由到不同的队列,由消费者从队列中接收。

  5. Bindings:Bindings是连接Exchange和Queue的路由规则。Bindings定义了Exchange如何将消息路由到队列。

  6. Connection:连接是RabbitMQ客户端与Broker之间的TCP连接。

  7. Channel:通道是建立在连接之上的虚拟连接。通过通道,客户端可以与Broker进行交互。

  8. 消息确认:消息确认是RabbitMQ保证消息到达目的地的机制。客户端可以选择使用自动确认或手动确认模式,手动确认模式可以确保消息被正确地处理。

  9. 消费者优先级:消费者可以设置优先级,高优先级的消费者可以优先处理消息。

  10. 死信队列:RabbitMQ支持死信队列,当消息无法被处理时,可以将消息发送到死信队列进行处理。这可以确保消息不会丢失,并允许进一步处理。

相关推荐
大模型玩家七七3 小时前
基于语义切分 vs 基于结构切分的实际差异
java·开发语言·数据库·安全·batch
寻星探路8 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
曹牧10 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法11 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty72511 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎11 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄11 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿11 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds11 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化