RabbitMQ学习笔记-------1基础概念

概念

消息队列,消息代理,队列服务器,高性能,
AMQP高级消息协议,
Erlang语言:不支持动态扩展,初衷理念抗高并发

核心概念

整体概念图

整体架构

在这里插入图片描述

消息如何流转

在这里插入图片描述

安装和使用

具体步骤百度
在这里插入图片描述在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

消息的生产者和消费者 (版本不同,写法不同,参考即可)
producer

在这里插入图片描述在这里插入图片描述

consumer

在这里插入图片描述

在这里插入图片描述
或者
在这里插入图片描述在这里插入图片描述

交换机 Exchange

接受消息,通过路由键传到相应队列中,本身没有存储消息的功能,如果没有消费队列绑定,消息就会丢失
在这里插入图片描述

type
Direct Exchange 直连交换机

作用:一对一模式, 发送到路由键指定的queue中
在这里插入图片描述

Topic Exchange 主题交换机

作用: 消息会被发送到指定主题相关的queue队列上(类似模糊匹配)
( # 匹配一个或者多个词,hello.# hello.gir.cole)
( * 匹配一个词 hello.* hello.gir.cole)
在这里插入图片描述在这里插入图片描述

Fanout Exchange 广播交换机

不走路由键,直接将队列绑定到交换机上
发送到交换机的消息,全都会被转发到与该交换机绑定的队列上
转发消息是最快的
在这里插入图片描述

常见属性
auto delete 自动删除

1 当exchange上所有队列都删除了,exchange也自动删除
2 在队列上,找不到关联的交换机,队列也要被清除

internal

当前exchange是否只在rabbitMq内部使用, 默认false即可

arguments

扩展参数

queue队列 ,Binding绑定,Virtual Host虚拟主机,Message消息
Binding绑定

绑定exchange和queue之间的连接关系

queue队列

消息队列,存储消息数据,
存储状态,durable 是 永久存储,transient 否 内存

messgae消息

在这里插入图片描述

Virtual Host虚拟主机

在这里插入图片描述

队列模式

1点对点(简单)的队列
一对一模式 一个生产者投递消息给队列,只能允许一个消费者进行消费,如果消费集群,默认会进行均摊消费(均摊borker会有效率快慢)
队列以先进先出原则进行存放。
1)应答模式
手动:当队列把消息推送给consumer后成功后,逻辑业务处理完,手动进行应答处理
在这里插入图片描述

自动:当队列把消息推送给consumer后不管是否成功会自动进行应答,告诉队列删除消息

2 工作队列
跟均摊相反的 又称为能者多劳,效率高的消费者分配的多一些
原理:
basicQos方法 参数prefetchCount=1 这样mq就不会再同一时间发送超过1条消息给consumer, 消息发送后,consumer采用手动应答,consumer没有消费完毕返回ack, 就不会给consumer发送下一条消息。
在这里插入图片描述
3 发布订阅模式
生产者投递消息给交换机exchange,不会直接给队列queue,交换机通过路由策略RoutingKey 转发到不同的队列服务器中存放,队列再以推送或消费者拉取的模式进行消费

通过广播交换机进行发布订阅模式
在这里插入图片描述在这里插入图片描述

好文推荐:https://mp.weixin.qq.com/s/oZophDWy1rELBs9BDLJK9A

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值