rabbitmq学习笔记

Rabbitmq结识点总结:

 

rabbitmq的主要概念:exchange、channel、queue、routingkey。

 

消息生产方将消息发送给exchange路由,exchange根据根据一定的规则,将消息发送给queue。

 

消息消费方从queue订阅、消费消息,消息消费有一个ack机制,消息者从queue中取出消息后,需要给rabbitmq一个应答,假如消费者回应接受此消息,rabbitmq将从queue中删除此消息;假如消费者回应拒绝此消息,则rabbitmq将根据某个参数决定将此消息放回队列中重排发送给其他消费者,或将此消息放到死信(dead letter)队列中。

 

Channel是从生产者到rabbitmq到消费者之间的一条连接通路。

 

 

消息持久化:rabbitmq提供了将消息持久化的功能,消息将持久化到文件中,已消费的持久化消息将标记为垃圾待回收。没有持久化的消息重启rabbitmq将有可能丢失。

 

消息发后即忘模式:消费者不知道消息来源。

 

Exchange有四种分类:direct、headers、fanout、topic

Direct(默认):根据routingkey严格匹配将消息投递到相应队列,当消费者有多个时,消息将轮询公平地分发给每个消费者。

Fanout:发布-订阅模式,消息将广播到所有绑定到这个exchange的 队列上,routingkey参数将被忽略。

Topic:通过routingkey模糊匹配将消息投递到队列。

 

posted @ 2020-08-27 16:02  kakapy  阅读(50)  评论(0)    收藏  举报