Nginx负载均衡与RabbitMQ详解:面试必备知识点

需积分: 0 2 下载量 114 浏览量 更新于2024-08-03 收藏 14KB MD 举报
本文档是一份针对IT行业面试者的复习资料,主要涵盖了Redis、Elasticsearch、Nginx和RabbitMQ四个关键技术的面试题及知识点。首先,关于Nginx部分: 1. Nginx的特点: - 稳定性高且内存占用低,支持高并发(高达5万连接),常作为负载均衡器,实现动静态资源分离,同时提供反向代理功能,隐藏后端服务器IP,增强安全性。 2. Nginx负载均衡策略: - 轮询:平均分配请求到各个服务器。 - 权重:根据服务器的性能设置不同的分配权重。 - IP哈希:基于客户端IP进行请求分发,保持同一客户端的请求路由不变。 3. 动静分离的重要性: - 提升Nginx并发处理能力,提高用户体验,减少服务器压力。 接着,是RabbitMQ相关知识点: 4. AMQP协议简介: - AMQP是一种消息传递协议,RabbitMQ中的核心组件如交换器、队列、绑定和路由键都遵循AMQP规范。 5. RabbitMQ组件: - 交换器:消息路由的核心,将消息发送到特定队列。 - 队列:消息存储容器,可以存储在内存或硬盘上。 - 绑定:定义交换器如何将消息路由到队列的规则。 6. 使用MQ的优势: - 解耦:减少模块间耦合,系统间通过MQ通信,无需关心调用方状态。 - 异步处理:提高系统响应速度。 - 削峰:分散高峰期请求,减轻数据库压力。 7. 流量削峰填谷方法: - 改变推送模式为拉取模式,通过定时或批量拉取平衡流量。 - 高峰期优化消费者吞吐量,如批量处理。 8. 消息重复问题解决方案: - 针对重复消费场景,通过确认机制(ACK)确保消息只被消费一次,避免消息丢失。 本文档提供了一个全面的复习框架,包括这些技术的基础概念、应用场景和实战技巧,对于准备面试或巩固基础知识的IT从业者来说非常实用。