按1-5步骤逐渐深入,每个步骤内部又按由易到难逐步深入,两者结合,把握好优化的
节奏和时间点
1. 动静分离
a. nginx/反向代理
b. 资源长期cache化
c. 数据静态化
d. 资源分摊到多个子域名
e. 前端渲染速度优化、SEO
f. 动静独立域名
g. 静态数据多机房分布
h. 动态数据多核心机房分布(备用机房在紧急时只提供有限服务–优雅降级)
2. 按产品、模块分离
a. 不同业务使用不同DB,核心与非核心分离
b. 不同业务使用不同Web/App,核心与非核心分离
c. 产品内部按模块继续拆分DB
3. 数据读写分离
a. 1 master N slave
b. cache定时淘汰机制
c. 分表、分区
d. cache主动淘汰机制
f. N master M slave
g. cache主动更新、纠错机制
h. 分布式cache容错机制
i. DB连接池
4. 分离前后端php
a. 数据封装,逻辑上分离页面渲染及业务处理层
b. 物理上分离展现及业务处理层,提升展现层并发数,控制处理层并发数;
c. 服务由粗到细拆分,逐渐将单机事务变成分布式事务
5. 产品、模块间解耦
a. 消息通知、异步触发