1.性能
1.1高读
- 少读(分层校验,一致性)
1.2并发锁
- 应用层排队:分布式锁(减少数据库连接占用)
- 数据层排队:patch,alisql
1.3高写
- 拆分(动静分离,热点优化,服务器优化)
1. 动静分离
- 数据拆分
- 静态缓存(浏览器,CDN(失效,命中率(二级缓存)))
- 数据整合(动态数据加载)
2. 热点优化
- 热点操作
- 用户
- 热点数据
- 热点识别:异步收集
- 热点隔离:业务隔离(预热),系统隔离(单独部署),数据隔离
- 热点优化:限流,缓存
3. 服务器性能优化
- 硬件
- jvm调优
- 代码优化:
- 减少序列化(减少rpc调用),
- 直接输出流数据,
- 减少堆栈信息输出深度,
- 去组件框架,使用servlet
2.一致性(库存扣减)
- 下单减库存:存在恶意下单(通过黑名单,设置最大购买件数)
- 付款减库存:用户体验差(超卖付款失败)
- 预扣减库存:缓存扣减,数据库字段设置为无符号整数,事务
3.高可用
- 流量削峰:答题
- 延缓请求:排队,过滤,限流,读缓存,写校验