4. 系统架构设计:分布式检索、分片副本、一致性,公司侧重点解析
分布式搜索引擎的架构设计是面试中的必考硬核题。面试官不仅关注你是否了解分片、副本、一致性等概念,更在意你能否根据不同业务场景(电商、内容、日志)做出合理的权衡。本章从三个高频面试问题出发,配合项目案例,帮你建立从理论到落地的完整回答体系。
| 维度 | 分片 (Sharding) | 副本 (Replication) | 一致性 (Consistency) |
|---|---|---|---|
| 核心目标 | 数据分散,水平扩展 | 冗余容错,高可用 | 数据正确,可预期行为 |
| 关键设计 | 分片键、路由算法 | 副本数、放置策略 | 同步策略、版本控制 |
| 常见方案 | 哈希分片、范围分片 | 主从复制、多副本 | 最终一致性、读己之写 |
| 公司侧重点 | 大厂重均衡,小厂重简单 | 核心业务多副本,边缘少副本 | 电商重实时,内容重最终 |
📌 面试问题 1:分片与副本策略设计
在设计一个日活千万级别的搜索引擎时,你会如何规划分片和副本策略?请说明你的设计思路和关键考量。
🎯 面试官考察点
- 是否具备从业务规模推演技术指标的能力
- 对分片键设计、数据均衡、副本放置的理解深度
- 能否在性能、成本、可用性之间做出合理权衡
🧩 回答框架
- 规模预估:根据日活、文档量、QPS 推算分片总数
- 分片键设计:业务分区 + 哈希散列,避免热点
- 副本数设定:核心业务 2‑3 副本,边缘业务 1‑2 副本
- <