这是后端面试集锦第五篇博文——
rabbitmq
面试话术❗❗❗
1. 介绍一下rabbitmq
RabbitMQ
是
Erlang
语言开发的基于
AMQP
的一款消息中间件,核心思想是生产者不会将消息直接发送给队列,消息在发送给客户端时先发送给交换机,然后由交换机转发给对应的队列。
它对路由(
Routing
),负载均衡(
Load balance
)、数据持久化都有很好的支持。
它里边有
5种数据
传递方式:
- 第一种是简单模型。一个生产者,一个队列,一个消费者。队列只能被一个消费者监听,所以生产者将消息发给队列之后,只能有一个消费者收到消息。
- 第二种是工作模型。一个生产者,一个队列,多个消费者。队列可以被多个消费者监听,但是生产者将消息发给队列之后,还是只能有一个消费者接收到消息
- 后边三种都叫订阅模型。这三种里边引入了交换机的概念,具体的区分是根据交换机的类型区分的。- 在这三种模式种,生产者把消息发送给交换机,交换机不负责存储消息,由交换机发送给指定的队列,消费者监听队列消费消息。- 首先是
fanout类型
,这种叫广播模式。- 生产者将消息发送给交换机,交换机会将消息转发给所有绑定到到当前交换机的队列中。- 对应监听队列的消费者都能收到消息,但是,如果没有队列绑定到这个交换机,消息会被
本文转载自: https://blog.csdn.net/lvoelife/article/details/132541315
版权归原作者 互联网全栈开发实战 所有, 如有侵权,请联系我们删除。
版权归原作者 互联网全栈开发实战 所有, 如有侵权,请联系我们删除。