RabbitMQ知识总结(根本原理+高级特性)

打印 上一主题 下一主题

主题 552|帖子 552|积分 1656

文章收录在网站:http://hardyfish.top/
文章收录在网站:http://hardyfish.top/
文章收录在网站:http://hardyfish.top/
文章收录在网站:http://hardyfish.top/

根本原理

消息的可靠性投递
   RabbitMQ 消息的投递路径为:
  

  • 生产者 ------> 交换机 ------> 队列 ------> 消费者
  在 RabbitMQ 工作的过程中,每个环节消息都有大概传递失败,可以通过以下三种模式来监听消息时候投递成功:
  

  • 确认模式(Confirm):可以监听消息是否从生产者成功传递到交换机。
  • 退回模式(Return):可以监听消息是否从交换机成功传递到队列。
  • 消费者消息确认(Consumer Ack):可以监听消费者是否成功处置处罚消息。
  高级特性

消费端限流
   RabbitMQ 提供了一种 Qos(Quality Of Service,服务质量)服务质量保证功能。
  即在非主动确认消息的前提下,如果一定数目的消息未被确认之前,不再进行消费新的消息。
  通过消费端限流的方式限制消息的拉取速率,达到保护消费端的目的。
  不公中分发
   在 RabbitMQ 中,多个消费者监听同一条队列,则队列默认采用的轮询分发。
  但是在某种场景下这种计谋并不是很好,比方消费者1 处置处罚使命的速率非常快,而其他消费者处置处罚速率却很慢。
  

  • 此时如果采用公中分发,则消费者1 有很大一部门时间处于空闲状态。
  • 此时可以采用不公中分发,即谁处置处罚的快,谁处置处罚的消息多。
  消息存活时间
   可以设置消息的存活时间(Time To Live,简称TTL),单位是毫秒,当消息到达存活时间后还没有被消费,会被移出队列。
  RabbitMQ 可以对队列的所有消息设置存活时间,也可以对某条消息设置存活时间。
  

  • 消息到达存活时间未被消费时,消息会被放入死信队列。
  优先级队列
   RabbitMQ 优先级队列(Priority Queue)是一种特别的队列,它根据消息的优先级将其放置在队列中。
  当消费者从队列中获取消息时,它将按照优先级从高到低的次序获取消息。
  优先级队列可以用于处置处罚一些必要按照优先级处置处罚的消息,比方日志记录、使命调度等。

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

本帖子中包含更多资源

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

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

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

本版积分规则

守听

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表