一、冷热分离架构
遇到的问题:某些数据被频繁访问(如热门商品),反复查询数据库浪费资源。
解决方案 :缓存热点数据




缓存层级 :
-
本地缓存:Memcached(单机)
-
分布式缓存:Redis(集群)

缓存常见问题 :
| 问题 | 描述 | 解决方案 |
|---|---|---|
| 缓存穿透 | 查询不存在的数据,直接打到DB | 布隆过滤器 |
| 缓存击穿 | 热点key突然失效,大量请求打到DB | 互斥锁、逻辑过期 |
| 缓存雪崩 | 大量key同时失效 | 随机过期时间、多级缓存 |
| 热点集中失效 | 某时段大量缓存同时过期 | 分散过期时间 |
🌰 例子:学校门口的奶茶店,把最受欢迎的珍珠奶茶提前备好(缓存),不用每次都现做。
二、垂直分库架构
遇到的问题:单库数据量太大,查询越来越慢。
解决方案 :按业务拆分数据库






分库策略 :
-
评论数据按商品ID hash路由
-
支付记录按小时创建表
-
确保每张实时操作的表数据量足够小
此时已可称为"分布式数据库" ,由多个组件协作:
-
分库分表管理 → MyCat
-
SQL解析 → 单机数据库
-
读写分离 → 网关+消息队列
-
结果汇总 → 数据库接口层
相关软件 :Greenplum、TiDB、PostgreSQL XC、华为LibrA
🌰 例子:图书馆把书按类别分到不同房间(用户/商品/交易),找书时先去对应的房间,效率大幅提升。
三、 微服务架构

遇到的问题:团队壮大,业务复杂,代码耦合严重,一个模块出问题影响全局。
解决方案 :微服务化



特点 :
-
不同团队独立维护自己的服务
-
服务间通过 Gateway、消息总线 通信
-
公共业务(如用户管理)可抽离为公共服务
相关软件 :Spring Cloud、Dubbo
🌰 例子 :大公司把业务分成独立事业部,用户部、商品部、交易部各自运营,通过内部系统协作。
四、容器编排架构
遇到的问题:
-
资源利用率低,很多资源应对短时高并发,平时闲置
-
需要动态扩缩容
-
开发/测试/生产环境需要隔离
-
运维工作量巨大


核心概念 :
-
Docker:集装箱,把应用+依赖打包成镜像
-
K8S:货船,根据集装箱大小、货物情况合理组织部署
集群划分 :
-
生产集群:线上正式环境
-
研发集群:通过命名空间隔离不同应用
相关软件 :Docker、Kubernetes