RabbitMQ

1、RabbitMQ的三大功能(为什么要使用MQ)

1、流量削峰

系统短时间内访问量有限,使用消息队列做缓冲,把一秒内的订单分散成一段时间来处理。

2、应用解耦

3、异步处理

2、rabbitMQ的六大模式

 1、简单模式  (生产者发送给队列,队列发送给消费者(一个线程处理))

2、工作模式 (生产者发送大量消息给队列,来不及处理,所以用多个工作线程来处理)

3、发布/订阅模式

4、路由模式

5、主题模式

6、发布确认模式

3、rabbitMQ的组件

生产者

broker:接受和分发消息的应用,RabbitMQ Server就是Message Broker

vitual host:当多个不同的用户使用同一个RabbitMQ Server提供服务时,可以划分出多个vhost,每个用户在自己的vhost创建exchange/queue等

connection: 就是生产者/消费者 和broker之间的TCP连接

channel(信道):channel是connection内部简历的逻辑连接。(就是一个connection连接可以给多对生产者消费者使用,互不干扰)

exchange:交换机

queue:队列

binding:exchange和queue之间的虚拟连接,binding中可以包含routing key,Binding信息被保存到exchange中的查询表中,用于message的分发依据。

4、消息应答

保证消息不消失(消费者消费后给rabbitMQ应答)

1、自动应答(消息发送后立即被认为已经传送成功。不建议使用,因为它不是处理完消息后再确认的)

2、手动应答(可以批量应答multiple,确认多个消息是否成功)

Channel.basicAck(用于肯定确认)

Channel.basicNack(用于否定确认)

Channel.basicReject(用于否定确认)      不处理该消息了,可以直接丢弃.

5、消息重新入队

6、持久化

1、队列持久化

2、消息持久化

3、发布确认(单个发布确认,批量发布确认、异步发布确认)

只有这三个步骤 才能保证持久化

7、交换机类型(简单队列中的消息只能被消费一次,通过交换机可以定制消息被多次消费的方式)

1、fanout交换机(发布订阅)

发送消息,所有队列都会收到消息,然后给消费者消费

2、direct交换机

通过选用direct模式,然后指定routingKey去进行分发

3、Topic交换机

匹配路由发送消息

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值