rabbitmq

  1. rabbitmq核心
    1. 核心特性
    2. 交换机

rabbitmq核心

核心特性

  • 消息确认机制
    为了确保消息成功被消费,提供了消息确认机制,当消费者接收到消息后,比如要给一个反馈:
    • ack:消费成功
    • nack:消费失败
    • reject:拒接
  • 消息过期机制
    可以给每条消息指定一个有效期,一段时间内未被消费者处理,就过期了。
    适合场景:清理过期数据,模拟延迟队列的实现,专门让某个程序处理过期请求
  • 死信队列
    为了保证消息的可靠性,比如每条消息都成功消费,需要提供一个容错机制,即:失败的消息怎么处理?

交换机

  • direct交换机
    允许我们将交换机和队列关联起来,指定交换机将哪种类型的消息发送给哪个队列
  • topic交换机
    消息会根据一个模糊的路由键转发到指定的队列,也就是是特定的一类消息可以交给特定的一类系统(程序)来处理
  • rpc交换机
    允许不同的程序在网络上进行通信和交互,就像调用本地函数一样。使用rpc,我们可以通过远程调用方式实现程序之间的内部通信。一般情况下,如果只是实现两个程序之间的内部通信,并没有必要借助消息队列来模拟rpc。可以使用专门的rpc框架。
  • headers交换机
    类似于主题和直接交换机,可以根据消息应发送到哪个队列。这种方式不是像之前那样指定一个路由键,而是根据消息的头部消息进行匹配,以确定消息要发送到哪个队列。然而,由于性能较差且相对复杂,一般情况下并不推荐使用这种方式。

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。