rabbitmq面试
rabbitmq面试
WD技术
这个作者很懒,什么都没留下…
展开
-
RabbitMQ有什么优缺点?
优点:解耦、异步、削峰;缺点:降低了系统的稳定性:本来系统运行好好的,现在你非要加入个消息队列进去,那消息队列挂了,你的系统不是呵呵了。因此,系统可用性会降低;增加了系统的复杂性:加入了消息队列,要多考虑很多方面的问题,比如:一致性问题、如何保证消息不被重复消费、如何保证消息可靠性传输等。因此,需要考虑的东西更多,复杂性增大。...原创 2022-03-13 10:44:54 · 985 阅读 · 0 评论 -
Rabbitmq如何保证消息顺序执行
https://www.cnblogs.com/-wenli/p/13047059.html原创 2022-03-13 10:45:11 · 297 阅读 · 0 评论 -
如何保证消息不被重复消费
https://zhuanlan.zhihu.com/p/169364604原创 2022-03-13 10:45:25 · 66 阅读 · 0 评论 -
消息基于什么传输?
由于TCP连接的创建和销毁开销较大,且并发数受系统资源限制,会造成性能瓶颈。RabbitMQ使用信道的方式来传输数据。信道是建立在真实的TCP连接内的虚拟连接,且每条TCP连接上的信道数量没有限制...原创 2022-03-13 10:45:39 · 197 阅读 · 0 评论 -
线程Queue,进程Queue和RabbitMQ区别
进程Queue用于父进程与子进程(或同一父进程中多个子进程)间数据传递python自己的多个进程间交换数据或者与其他语言(如Java)进程queue就无能为力RabbitMQ就是这样一个可以在不同程序间共享数据的代理...原创 2022-03-12 10:13:48 · 320 阅读 · 0 评论 -
如何保证RabbitMQ消息队列的高可用?
RabbitMQ 有三种模式:单机模式,普通集群模式,镜像集群模式。单机模式:就是demo级别的,一般就是你本地启动了玩玩儿的,没人生产用单机模式普通集群模式:意思就是在多台机器上启动多个RabbitMQ实例,每个机器启动一个。镜像集群模式:这种模式,才是所谓的RabbitMQ的高可用模式,跟普通集群模式不一样的是,你创建的queue,无论元数据(元数据指RabbitMQ的配置数据)还是queue里的消息都会存在于多个实例上,然后每次你写消息到queue的时候,都会自动把消息到多个实例的queue里进原创 2022-03-12 10:13:26 · 147 阅读 · 0 评论 -
rabbitmq优先级队列
优先级高的队列会先被消费。可以通过x-max-priority参数来实现。当消费速度大于生产速度且Broker没有堆积的情况下,优先级显得没有意义。补充:https://blog.csdn.net/u013256816/article/details/55105495原创 2022-03-12 10:11:13 · 205 阅读 · 0 评论 -
延迟队列?
存储对应的延迟消息,指当消息被发送以后,并不想让消费者立刻拿到消息,而是等待特定时间后,消费者才能拿到这个消息进行消费。延时队列,队列内部是有序的,最重要的特性就体现在它的延时属性上,延时队列中的元素是希望在指定时间到了以后或之前取出和处理,简单来说,延时队列就是用来存放需要在指定时间被处理的元素的队列延迟队列的实现大致流程:创建延迟队列,设置ttl,同时还要设置延迟队列挂钩的死信队列,当延迟队列中的信息成为死信的时候,就立马把信息放入死信队列,被消费https://www.cnblogs.com原创 2022-03-12 10:10:58 · 79 阅读 · 0 评论 -
导致的死信的几种原因?
消息被拒(Basic.Reject /Basic.Nack) 且 requeue = false。消息TTL过期。队列满了,无法再添加。死信的处理方式1、丢弃,如果不是很重要的话2、加入死信队列3、记录死信入库,然后做后续的业务分析和处理...原创 2022-03-12 10:10:43 · 310 阅读 · 0 评论 -
死信交换机与死信队列
DLX,全称为 Dead-Letter-Exchange,死信交换器,死信邮箱。当消息在一个队列中变成死信 (dead message) 之后,它能被重新被发送到另一个交换器中,这个交换器就是 DLX,绑定 DLX 的队列就称之为死信队列。...原创 2022-03-12 10:10:29 · 263 阅读 · 0 评论 -
交换器无法根据自身类型和路由键找到符合条件队列时,有哪些处理?
mandatory :true 返回消息给生产者。mandatory: false 直接丢弃原创 2022-03-12 10:10:16 · 115 阅读 · 0 评论 -
消费者接收消息过程?
1.Producer先连接到Broker,建立连接Connection,开启一个信道(Channel)。2.向Broker请求消费响应的队列中消息,可能会设置响应的回调函数。3.等待Broker回应并投递相应队列中的消息,接收消息。4.消费者确认收到的消息,ack。5.RabbitMq从队列中删除已经确定的消息。6.关闭信道。7.关闭连接。...原创 2022-03-12 10:10:00 · 230 阅读 · 0 评论 -
生产者发送消息的过程?
1.Producer先连接到Broker,建立连接Connection,开启一个信道(Channel)。2.Producer声明一个交换器并设置好相关属性。3.Producer声明一个队列并设置好相关属性。4.Producer通过路由键将交换器和队列绑定起来。5.Producer发送消息到Broker,其中包含路由键、交换器等信息。6.相应的交换器根据接收到的路由键查找匹配的队列。7.如果找到,将消息存入对应的队列,如果没有找到,会根据生产者的配置丢弃或者退回给生产者。8.关闭信道。9.管理原创 2022-03-12 10:09:46 · 186 阅读 · 0 评论 -
RabbitMQ之交换机的四种类型和属性
交换机主要包括如下4种类型:Direct exchange(直连交换机)Fanout exchange(扇型交换机)Topic exchange(主题交换机)Headers exchange(头交换机)另外RabbitMQ默认定义一些交换机:默认交换机amq.* exchanges还有一类特殊的交换机:Dead Letter Exchange(死信交换机)Direct exchange(直连交换机)直连型交换机(direct exchange)是根据消息携带的路由键(routing ke原创 2022-03-12 10:09:30 · 465 阅读 · 0 评论 -
为什么要用MQ
1.流量消峰举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单时绰绰有余,正常时段我们下单一秒后就能返回结果。但是在高峰期,如果有两万次下单操作系统是处理不了的,只能限制订单超过一万后不允许用户下单。使用消息队列做缓冲,我们可以取消这个限制,把一秒内下的订单分散成一段时间来处理,这时有些用户可能在下单十几秒后才能收到下单成功的操作,但是比不能下单的体验要好。2.应用解耦以电商应用为例,应用中有订单系统、库存系统、物流系统、支付系统。用户创建订单后,如果耦合调用库存系统原创 2022-03-11 20:46:56 · 315 阅读 · 0 评论 -
说说Broker服务节点、Queue队列、Exchange交换器?
Broker可以看做RabbitMQ的服务节点。一般请下一个Broker可以看做一个RabbitMQ服务器。Queue:RabbitMQ的内部对象,用于存储消息。多个消费者可以订阅同一队列,这时队列中的消息会被平摊(轮询)给多个消费者进行处理。Exchange:生产者将消息发送到交换器,由交换器将消息路由到一个或者多个队列中。当路由不到时,或返回给生产者或直接丢弃。...原创 2022-03-11 20:46:37 · 656 阅读 · 0 评论 -
为什么需要消息队列?
从本质上来说是因为互联网的快速发展,业务不断扩张,促使技术架构需要不断的演进。从以前的单体架构到现在的微服务架构,成百上千的服务之间相互调用和依赖。从互联网初期一个服务器上有 100 个在线用户已经很了不得,到现在坐拥10亿日活的微信。此时,我们需要有一个「工具」来解耦服务之间的关系、控制资源合理合时的使用以及缓冲流量洪峰等等。因此,消息队列就应运而生了。它常用来实现:异步处理、服务解耦、流量控制(削峰)。...原创 2022-03-11 20:46:24 · 153 阅读 · 0 评论 -
AMQP是什么?
https://blog.csdn.net/hayre/article/details/103105401原创 2022-03-11 20:46:10 · 102 阅读 · 0 评论 -
MQ和RabbitMQ作用特点
https://blog.csdn.net/weixin_40792878/article/details/82555791原创 2022-03-11 20:45:53 · 75 阅读 · 0 评论 -
什么是消息队列
MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。...原创 2022-03-11 20:45:40 · 67 阅读 · 0 评论 -
RabbitMQ 高可用之如何确保消息成功消费
https://blog.csdn.net/weixin_60227714/article/details/120905262原创 2022-03-11 20:45:26 · 163 阅读 · 0 评论 -
RabbitMQ——如何保证消息发送的可靠性
https://www.jianshu.com/p/29db762959ed原创 2022-03-11 20:45:07 · 84 阅读 · 0 评论 -
RabbitMQ 消息确认机制 以及 原理解析
https://www.cnblogs.com/DBGzxx/p/10091070.html原创 2022-03-11 20:44:52 · 109 阅读 · 0 评论