栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

1.rabbitmq基本概念及工作模式

1.rabbitmq基本概念及工作模式

mq的优劣势

优势

1.应用解耦

2.异步提速

3.削峰填谷

劣势

1.可用性降低

2.复杂性提高

基本概念

channel  客户端连接rabbitmq服务端的对象 

broker 一个rabbitmq服务器实例就叫一个broker

virutal host一个实例里面有多个virtual host,对应一个监听的路径

Exchange交换机 ,一个virtual中有一个exchange,用于消息分发

queue队列,消息实际存放的位置,exchange消息分发到对应queue,并且消费客户端也是通过channel从queue中取数据的

工作模式

1.hello world

一个生产者者对应一个queue对应一个consumer

2.work queue

一个生产者对应一个队列,多个consumer同时消费这个队列,每个consumer消费该不同的消息,不重复消费其他消费者已经消费的消息

3.publis/subscribe 发布订阅模式

主要是exchange接收到消息后会把订阅了该exchange的队列都发一份给这些队列,相当于广播了这些队列,也就是在代码中体现的exchange的类型为fanout广播类型, 在创建生产者时要指定exchange,然后创建消费者时要指定queue并绑定到exchange,即可完成对应关系.比如,现在生产者生产了hello world这条消息,并指定了广播类型的exchange名字是fanout,在创建消费者的时候创建了队列A,并绑定到fanout这个exchange交换机上,再创建一个消费者,创建了队列B,且也绑定到fanout这个exchange交换机上,那么,fanout这个exchange交换机就会将hello world这条消息分别塞进队列A和队列B 中。这就是发布订阅模式

4.Routing 路由模式

 其实就是将exchang类型改为redirect模式,就是在生产者生产消息绑定exchange时指定一个routing key,并在创建消费者时创建队列绑定exchange时指定要监听的routing key,那么exchange就会将和监听绑定的queue指定的key一样的消息塞进对应的队列中。举个例子,比如生产者生产了指定routing Key为A的hello world消息,那么此时已经有一个消费者队列A监听该exchange,其监听的routing key为A,同时也有一个消费者队列B监听该exchagne,但是其routing key设置为B,那么exchange就只会将hello world这消息塞进队列A,不会塞队列B 了

5.Topic 主题模式

主要就是在路由模式的基础上增强了routing key通配符匹配功能 ,设想一下,如果每个routing key都要单独指定,那么当有多个routing key都是需要路由到同一个队列的时候,那么需要多次定义,引入了通配符模式后,我们就可以将有相似的key都直接用一个通配符就可以涵盖,方便快捷,也实现了灵活性. 通过*号匹配一个字符,#匹配一个或多个字符

消息确认机制

当生产者端向broker发送消息的时候,会通过消息确认机制来让生产者端知道broker的消息接收情况

分为

/confirm/i和return

/confirm/i主要是确认broker是否已经接收到,ack表示正常接收,nack是表示无法接收,可能是队列已满,而return是指退回,指的是在正常接收的情况下,exchange交换机发现无法路由到任何一个队列,也就是没有队列接收这一信息,于是退回.

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613101.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号