Rabbitmq(一)

本文介绍了RabbitMQ的五种工作模式,包括简单模式、工作模式(资源争抢)、发布订阅、路由模式和主题模式,并详细阐述了每种模式的工作原理和应用场景,如短信通知、抢红包、邮件群发、系统资源调度等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官网www.rabbimq.com
常见的性能极高的消息列队
消息类对的产品

 1. JMS java的消息队列(性能不高)
 2. AMQP(advanced  message queue protocal),高级消息队列规则,实现了这个吗前排的消息队列就可以做到高性能;
 3. Rabbitmq:支持分布式,支持高可用的消息队列软件
 项目风柜项目:haproxy+keepalive+zookeeper+Rabbitmq
 4.KafKa:大数据底层缓存消息队列(天生分布式的)

Rabbitmq的结构(组件)
外部
生产者:对于消息来讲生成消息的客户端是生产者
消费者:消费消息执行消息后续逻辑的客户端是消费者
客户端可以使各种其他技术或语言都不是rabbit自身的技术

rabbitmq内部组件
在这里插入图片描述
##channel:基于场链接connection创建的,可以在一次长连接基础上多次频繁的创建和销毁,占用资源非常少

在这里插入图片描述

客户端连接发送消息,多种情况都需要并发的发送;如果从客户端执行并发发送逻辑,rabbitmq的并发能力就限制在客户端exchange基于erlang语言开发的(并发语言)

在rabbitmq中有三种类型

  1. 并发语言可以控制cpu资源
  2. set方法user cpu #1 thread 2048 。。。let go
  3. queue:rabbitmq中的队列,根据不同的情况队列可以完成各种各样的工作

rabbitmq的五种工作模式

简单模式
在这里插入图片描述

1.一个生产者将消息交给默认的交换机(AMQP default)
2. 两个交换机获取消息后交给绑定这个生产者的队列(关系是通过队列名称完成)
3. 监听当前队列的消费者获取消息,执行消费逻辑应用场景:短信,聊天

工作模式(资源争抢)
在这里插入图片描述
1.生产者将消息交个交换机
2.交换机交给绑定的队列
3.队列由多个消费者同事监听,只有其中一个能够获取这一条消息,形成了资源的争抢,谁的资源空闲大,争夺抢到的可能越大
应用场合:抢红包,大型系统的资源调度

在这里插入图片描述

3发布订阅(publish/fanout)

在这里插入图片描述
1 生产者扔给交换机消息
2 交换机根据自身的类型(fanout)将会把所有消息复制同步到所有与其绑定的队列
3 每个队列可以有一个消费者,接收消息进行消费逻辑
应用场景:邮件群发,广告

4.路由模式(routing/direct)
在这里插入图片描述
1 生产者还是将消息发送给交换机,消息携带具体的路由key(routingKey)
2 交换机类型direct,将接收到的消息中的routingKey,比对与之绑定的队列的routingKey
3 消费者监听一个队列,获取消息,执行消费逻辑
应用场景:根据生产者的要求发送给特定的一个或者一批队列;错误的通报;

  1. toic主题模式
    在这里插入图片描述
    1 生产端发送消息,消息携带具体的路由key
    2 交换机的类型topic
    3 队列绑定交换机不在使用具体的路由key而是一个范围值
    .orange. : haha.orange.haha,haha.haha.orange.haha
    lazy.# : haha.lazy.haha.haha,layz.alsdhfsh(sh9ou)N0
    *表示一个字符串(不能携带特殊符号) 例如 *表示 haha,item,update
    #表示任意

和路由模式区别:
路由模式中的queue绑定携带的是具体的key值,路由细化划分
topic主题模式queue携带的是范围的匹配,某一类的消息获取
例子:
多级传递时,上级消息队列结构接收的是范围内容,根据范围定义
下级的具体执行逻辑
easymall在主题模式可以如下应用
生产者生成消息携带路由key;
easymall.product.update(easymall的商品更新路由key)
jt.item.add(京淘项目的商品添加路由key)
第一级消息队列,过滤是否是easymall项目的消息
只要消息队列绑定easymall.#
第二级消息队列,过滤是否是商品消息
easymall.product.*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值