-
什么是RabbitMQ?
答:RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件),生产者把消息发送到消息队列,消费者去消息队列中取消息消费,实现了服务之间的高度解耦。 -
使用RabbitMQ有什么好处?
答:异步,解耦,削峰填谷 -
使用RabbitMQ有什么缺点?
答:降低了系统的稳定性,下游系统都去消息队列里拿消息消费,要是消息队列服务宕机,那就崩了,所以还得考虑高可用。提高了系统的复杂性,加了一个新的中间件, 那么就要考虑这个中间件会引发的相关问题,比如消息丢失了怎么办,消息重复消费了怎么办等各种问题,这些都是需要实践和试错的。 -
RabbitMQ有哪些重要的角色?
答:
生产者:消息的生产者,同时推送消息数据到消息服务器。
消费者:消息的接收者,用来确认消息和消费消息数据。
代理商:RabbitMQ就是代理商,它本身不生产消息,只是负责消息的存储和发送。 -
说说使用使用RabbitMQ的场景?
答:用于服务间的异步通信,定时任务,请求削峰,顺序消费。 -
如何保证RabbitMQ的高可用?
答:生产是不会只用一台RabbitMQ服务器来提供服务的,至少要搞个RabbitMQ集群来保证高可用。 -
RabbitMQ集群方式有哪几种?
答:普通集群模式,镜像集群模式。 -
普通集群模式是什么样的?
答:普通集群模式,就是消息数据其实还是在一个RabbitMQ节点上,而其他RabbitMQ节点则知道这个消息具体是放在哪个节点,所以当有请求过来时,集群节点之间会做内部的通信,把请求转发到真正拥有相应消息数据的节点上,所以这种模式其实只是起到了一个类似负载均衡的效果,当拥有消息数据的节点宕机后,消息就丢失了,也就无法成功被消费了,不是高可用的。 -
镜像集群模式是什么样的?
答:镜像集群模式,顾名思义,就是每个节点中的消息数据在其他节点也都存在,做了个镜像备份,这样哪怕一个节点宕机了,其他节点一样能提供一样的消息数据,做到了高可用。 -
RabbitMQ的消息基于什么传输?
答:由于TCP连接的创建和销毁开销较大,而且并发数受到系统资源的限制,会造成性能瓶颈。RabbitMQ则使用信道的方式来传输数据。信道是建立在真实的TCP连接内的虚拟连接,且每条TCP连接上的信道数量没有限制。
RabbitMQ面试题(一)
猜你喜欢
转载自blog.csdn.net/weixin_38106322/article/details/104796476
今日推荐
周排行