RabbitMQ消息队列
2026/3/30大约 2 分钟
📋 本文节选自《Java常见面试题 8000 道》,返回 查看全部章节
176、RabbitMQ的使用场景有哪些?
1、 解决异步问题;
例如用户注册,发送邮件和短信反馈注册成功,可以使用RabbitMQ消息队列,用户无需等待反馈。
2、 服务间解耦;
订单系统和库存系统,中间加入RabbitMQ消息队列,当库存系统出现问题时,订单系统依旧能正常使用,降低服务间耦合度。
3、 秒杀系统;
利用RabbitMQ的最大值,实现秒杀系统。
177、RabbitMQ有哪些重要的角色?有哪些重要的组件?
1、 RabbitMQ有哪些重要的角色?;
客户端、RabbitMQ、服务端。
2、 有哪些重要的组件?;
(1)connectionFactory(连接管理器)
应用程序与RabbitMQ之间建立连接的管理器。
(2)Channel(信道)
消息推送使用的信道。
(3)RoutingKey(路由键)
用于把生产者的数据分配到交换机上。
(4)Exchange(交换机)
用于接受和分配消息。
(5)BindKey(绑定键)
用于把交换机的消息绑定到队列上
(6)Queue(队列)
用于存储生产者消息。
178、RabbitMQ中 vhost 的作用是什么?
vhost可以理解为mini版的RabbitMQ,其内部均含有独立的交换机、绑定、队列,最重要的是拥有独立的权限系统,可以做到vhost范围内的用户控制。从RabbitMQ全局考虑,不同的应用可以跑在不同的vhost上,作为不同权限隔离的手段。