70 - RabbitMQ

 

课堂笔记

1.Queue和MQ的区别
Queue 是线程之间的队列(一个应用、进程)
MQ 是应用之间的队列(多个应用、进程)
2.发布订阅redis和rabbitmq的区别?
3.Pika就相当于是pymysql
4.RabbitMQ的四种模式
【简单模式】
queue_declare声明队列,有生产者先启动或者消费者先启动两种情况,没有则创建,有则不创建
ch.basic_ack(delivery_tag=method.delivery_tag) 消费者执行了这个之后,生产者才会删除消息
channel.basic_qos(prefetch_count=1)  不按照轮训平均分配给消费者,而是哪个消费者处理完了,分配给谁
【分发模式】
订报纸,发聊天室的群消息
生产者将信息给交换机,生产者和队列不打交道(因为不确定生产者和消费者谁先启动,谁先启动谁创建交换机,后面由生产者往交换机里面写数据)
消费者创建属于自己的队列,队列绑定到交换机(queue_bind)
博客中:type=‘fanout’ ==>exchange_type=‘fanout’
exclusive=Ture 创建随机队列
交换机里只要有数据,各个消费者人手一份
【关键字模式】
不同的应用要的日志不同:error日志,warn日志,info日志
生产者将信息给交换机,会带着指定关键字,消费者创建队列然后绑定队列,这个时候,绑定的时候得指定【一个或者多个关键字】
生产者
指定routing_key,消费者会识别这个
消费者
exchange_type=‘direct’
创建队列,队列绑定(queue_bind)的时候添加routing_key,可以指定为列表,则绑定了多个关键字
【topic模式】
和关键字模式一样,唯一的区别就是模糊匹配,# *  单词不能包含 .   

参考

RabbitMQ-1

RabbitMQ-2

 

posted @ 2018-12-08 16:27  番茄土豆西红柿  阅读(104)  评论(0)    收藏  举报
TOP