高性能
业务方面
- 将同步业务转化为异步业务
- 业务分级,柔性可用
- 减少不必要的数据库请求
- 业务解耦,降低关联性
应用方面
- 前端高性能设计(略)
- 使用缓存:多级缓存、分布式缓存
- 预加载、懒加载、延迟初始化
- 尽量减小交互接口数据包大小
- 尽量减少序列化、对象克隆
- 尽量减少跨进程、跨机器、跨网络访问
- 尽量减少在同步业务中使用事务
- 尽量减少锁的使用
- 使用乐观锁
- 尽量缩小锁的范围
- 尽量将低性能逻辑放到锁的范围之外
- 使用异步逻辑
- 队列削峰,先接受,后处理
- 尽量复用
- 线程:线程池
- 连接:长连接、连接池
数据库方面
- 数据库读写分离
- 优化 SQL 语句、表结构、索引等
硬件及部署方面
- 负载均衡
- 分离应用服务器和数据库服务器
高可用
业务方面
- 快速拒绝:尽早拒绝不符合策略的请求
- 灰度推广、灰度上线:按部门、分时段
- 服务分级,柔性可用
应用方面
- 自动重试机制
- 单点重试
- 多点重试
- 超时机制
- 幂等设计
- 无状态设计
- 容错机制
- 登录时,创建 Staff 抛出“该员工不存在”
- 提高编码质量,减少异常
- 完善的测试准出
- 功能
- 性能
运维方面
- 状态报告及预警
- KeepAlive
- 资源报告及预警
- CPU、内存、硬盘、IO
- 业务报告及预警
- QPS、TPS、SQL查询
- PV、UV
- 日志
硬件及部署方面
- 核心业务与非核心业务分开部署
- 负载均衡、双机热备、主备
- 异地多活
其他
- 先思考,后动手。多思考,少蛮干。
- 严格要求自己,将出手的产品当做孩子一样对待