RabbitMQ常见面试题
By admin
- One minute read - 41 wordsRabbitMq中的概念及解释
-
Server(Broker)
: 接收客户端连接,实现AMQP协议的消息队列和路由功能的进程; -
Virtual Host
:虚拟主机的概念,类似权限控制组,一个Virtual Host里可以有多个Exchange和Queue。 -
Exchange
: 交换机,接收生产者发送的消息,并根据Routing Key将消息路由到服务器中的队列Queue。 -
ExchangeType
: 交换机类型决定了路由消息行为,RabbitMQ中有四种类型Exchange,分别是fanout
、direct
、topic
和headers
; Queue
:消息队列,用于存储还未被消费者消费的消息;-
Message
:由Header和body组成,Header是由生产者添加的各种属性的集合,包括Message是否被持久化、优先级是多少、由哪个Message Queue接收等;body是真正需要发送的数据内容; BindingKey
:绑定关键字,将一个特定的Exchange
和一个特定的Queue
绑定起来。
2.对mq有哪些理解(rabbitmq的模型,rabbitmq的特性,以及幂等问题)。
3.rabbitmq是如何来保证数据不丢失的,持久化机制,消息确认机制等等
4.消息队列的应用场景,rabbitmq是推模式
还是拉模式
6.rabbitmq队列可以连多少个消费者。
7.rabbitmq 持久化 是如何保证消消息不丢失的( 确认机制 )
8.RabbitMQ如何保证可靠性:
持久化+确认机制;持久化: 消息、Exchange、Queue都会持久化;确认机制,比如消息投递上去后,RabbitMQ会在存到硬盘后返回ACK,根据ACK可以判断是否投递成功,以上保证了消息的可靠。
9. 如何让你设计一个消息队列,如何设计? 参考 https://www.jianshu.com/p/67c14aebd5b2