rabbitmq每次拉取最大数量_全网最全RabbitMQ总结,别再说你不会RabbitMQ

97ff6d00ae74a164f7c024878e7bce8b.png

当初我学RabbitMQ的时候,第一时间就上GitHub找相应的教程,但是令我很失望的是没有找到,Spring,Mybatis之类的教程很多,而RabbitMQ的教程几乎找不到,看的最多的就是朱小厮大佬的博客。后来想着索性自己总结一下吧,有不恰当的地方欢迎小伙伴指出。

这篇文章主要是对着我在GitHub上的源码解释的,因此本文并没有太多的源码。写了挺长时间的,为了防止迷路,欢迎大家star和fork

18c04a212a6a5495b2360e5ad8215243.png

github地址:https://github.com/erlieStar/rabbitmq-examples

4d69251c3814169fb4f3e263fbf72d1c.png

前言

我们先来看一下一条消息在RabbitMQ中的流转过程

fb9715a2f3daa49c1f3a45d816d898fb.png

图示的主要流程如下

  1. 生产者发送消息的时候指定RoutingKey,然后消息被发送到Exchange

  2. Exchange根据一些列规则将消息路由到指定的队列中

  3. 消费者从队列中消费消息

整个流程主要就4个参与者message,exchange,queue,consumer,我们就来认识一下这4个参与者

Message

消息可以设置一些列属性,每种属性的作用可以参考《深入RabbitMQ》一书

属性名 用处
contentType 消息体的MIME类型,如application/json
contentEncoding 消息的编码类型,如是否压缩
messageId 消息的唯一性标识,由应用进行设置
timestamp 消息的创建时刻,整型,精确到秒
deliveryMode 消息的持久化类型 ,1为非持久化,2为持久化,性能影响巨大
headers 键/值对表,用户自定义任意的键和值
priority 指定队列中消息的优先级

Exchange

接收消息,并根据路由键转发消息到所绑定的队列,常用的属性如下

交换机属性 类型
name 交换器名称
type 交换器类型,有如下四种,direct,topic,fanout,headers
durability 是否需要持久化,true为持久化。持久化可以将交换器存盘,在服务器重启的时候不会丢失相关信息
autoDelete 与这个Exchange绑定的Queue或Exchange都与此解绑时,会删除本交换器
internal 设置是否内置,true为内置。如果是内置交换器,客户端无法发送消息到这个交换器中,只能通过交换器路由到交换器这种方式
argument 其他一些结构化参数

我们最常使用的就是type属性,下面就详细解释type属性

de423b9c390efef20f1d0d344302a2a4.png

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值