你了解RabbitMQ吗?核心概念和原理解析

了解RabbitMQ前,你需要先晓得MQ

MQ

—>【Message Queue】
消息队列,两个应用程序间的通信方法,由消息系统来确保消息的可靠传输【简言之消息以管道的方式进行传递】

下来便是—>RabbitMQ

是一个开源的AMQP实现,Erlang语言编写,支持多种客户端【python,java,c ,php等】,实现应用间的数据共享

主要实现的功能/作用

- 解耦
- 异步
- 削峰

这里的话,还需补充一点,AMQP协议

【Advanced Message Queuing Protocol】
高级消息队列协议,是一个网络协议,
它支持符合要求的客户端应用和消息中间件代理之间进行通信

参与消息队列的重要角色:

–>生产者:消息的创建者,负责创建和推送数据到消息服务器
–>消费者:消息的接收方,用于处理数据和确认消息
–>代理:就是 RabbitMQ 本身,用于扮演“快递”的角色,本身不生产消息,只是扮演“快递”的角色

组件的介绍:

Channel(信道):消息推送使用的通道
Exchange(交换器):用于接受、分配消息
vhost(虚拟主机):不用用户的权限分离
Queue(队列):用于存储生产者的消息
RoutingKey(路由键):用于把生成者的数据分配到交换器上
BindingKey(绑定键):用于把交换器的消息绑定到队列上

简述过程:

客户端连接到消息队列服务器,打开一个channel
客户端声明一个exchange,并设置相关属性
客户端声明一个queue,并设置相关属性
客户端使用routing key,在exchange和queue之间建立好绑定关系
客户端投递消息到exchange

工作原理图

在这里插入图片描述

描述:生产者发送message到exchange,exchange通过匹配 routing key与building key,然后把消息发送到对应的quence,prefetchCount限制发送消费者message的数量

rabbitMQ应用模式

单一模式
普通模式(默认集群模式)
镜像模式(队列做成镜像队列,存在多个节点)
Rabbitmq的集群节点包括内存节点、磁盘节点,支持消息持久化、也就是数据写在磁盘上
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值