
1) 【一句话结论】
采用微服务架构拆分业务,结合分布式缓存、异步消息队列、容错机制及多机房部署,确保高峰响应≤3秒,系统可用性达99.99%。
2) 【原理/概念讲解】
老师口吻解释关键概念:
3) 【对比与适用场景】
缓存类型对比(表格):
| 类型 | 定义 | 特性 | 使用场景 | 注意点 |
| - | - | - | - | - |
| 本地缓存 | 单机内存缓存 | 速度快,依赖单机 | 热点数据,单机场景 | 容量有限,故障时数据丢失 |
| 分布式缓存(Redis) | 多节点共享缓存 | 高可用,可扩展 | 高并发热点数据,分布式系统 | 需要分布式锁或一致性协议(如Redis的分布式锁) |
消息队列对比(表格):
| 消息队列 | 定义 | 特性 | 适用场景 | 注意点 |
| - | - | - | - | - |
| Kafka | 高吞吐、持久化、分布式 | 实时性、持久化 | 异步处理、日志、事件驱动 | 适合海量消息,延迟低 |
| RabbitMQ | 面向消息的中间件 | 基于工作队列、发布订阅 | 中等吞吐,可靠性 | 适合传统应用,延迟稍高 |
4) 【示例】
值机请求流程(伪代码):
前端发送值机请求(用户ID=1001,航班号=CA1234)
→ API网关负载均衡 → 用户服务校验用户信息
(Redis缓存无则从数据库拉取,并缓存)
→ 航班服务校验航班状态
(Redis缓存无则从数据库拉取,并缓存)
→ 值机服务生成值机牌,同时将结果写入Kafka主题(checkin_result)
前端通过轮询拉取Kafka消息,获取值机结果(异步响应,响应时间≤3秒)
5) 【面试口播版答案】
针对高并发航空值机系统,核心方案是微服务拆分+分布式缓存+异步消息队列+容错机制。首先,架构上拆分为用户、航班、值机等微服务,通过负载均衡(如Nginx+LVS)分发请求。缓存方面,使用Redis缓存热点数据(如用户信息、航班状态),并采用预取策略(如航班信息在非高峰时段批量加载到缓存)。消息队列用Kafka处理值机结果的异步通知,前端通过拉取消息队列数据获取响应,避免阻塞。容错方面,实现熔断(如Hystrix)防雪崩,降级(如无航班信息时返回默认值),以及重试机制(如网络异常重试)。最后,多机房部署(如主备机房)确保可用性,通过监控和告警保障系统稳定。
6) 【追问清单】
7) 【常见坑/雷区】