
1) 【一句话结论】通过负载均衡、多级缓存、数据库读写分离、CDN加速及熔断降级等组合技术,构建分层可扩展架构,实现系统高可用与低延迟。
2) 【原理/概念讲解】高可用指系统在部分组件故障时仍能提供服务,核心是冗余(如多服务器、多数据库从库);低延迟指用户请求响应快,核心是减少请求处理路径(如缓存、CDN)。类比:高可用像多根支柱支撑大厦,一根柱子坏,其他柱子继续支撑;低延迟像高速公路,车辆快速通过,不拥堵。关键技术:①负载均衡:分发请求到多台后端服务器,避免单点过载(如Nginx的轮询、权重算法);②多级缓存:Redis缓存热点数据(如商品信息),减少数据库压力(缓存击穿用互斥锁,雪崩用随机过期);③数据库读写分离:主库写,从库读,提升读性能(需binlog同步,避免数据不一致);④CDN加速:静态资源(图片、视频)通过离用户近的节点分发,降低网络延迟;⑤熔断降级:当服务故障时,暂时拒绝部分请求,避免雪崩(如Hystrix的断路器)。
3) 【对比与适用场景】
| 技术 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| 负载均衡 | 分发请求到多个后端服务器 | 轻量,支持多种算法(轮询、权重、健康检查) | 高并发场景(如电商大促) | 需健康检查,避免故障节点接收请求 |
| 缓存(Redis) | 内存数据库,存储热点数据 | 高速读写,支持数据结构 | 减少数据库压力,提升读性能 | 数据一致性,需处理击穿/雪崩 |
| 数据库读写分离 | 主库写,从库读 | 分离读写,提高读性能 | 数据库压力大的场景 | 需binlog同步,避免数据不一致 |
| CDN | 内容分发网络 | 节点靠近用户,分发静态资源 | 提升静态资源访问速度 | 需配置缓存策略,动态内容需回源 |
4) 【示例】用户访问商品详情(URL:/product/123):
5) 【面试口播版答案】在农业电商平台大促时,保障系统高可用和低延迟的核心是构建分层、可扩展的架构。首先,通过负载均衡(如Nginx)分发请求到多台后端服务器,避免单点故障;其次,使用Redis作为缓存,缓存商品、订单等热点数据,减少数据库压力,比如商品详情页的查询从数据库读取变为从缓存读取,响应时间从1秒降到100毫秒以内;然后,数据库采用读写分离,主库负责写操作,从库负责读操作,提升读性能;另外,静态资源(如图片、视频)通过CDN分发,用户请求直接从离他们最近的CDN节点获取,降低延迟;最后,引入熔断降级机制,当请求过多时,暂时拒绝部分请求,避免系统雪崩。比如,大促时,系统通过这些措施,实现了99.9%的高可用,用户访问延迟控制在200ms以内。
6) 【追问清单】
7) 【常见坑/雷区】