Java 高并发秒杀-系统优化(重要)
2018-05-06 本文已影响120人
markfork
章节目录
- 秒杀系统请求流程图
- 系统性能瓶颈分析与优化思路
1.秒杀系统请求流程图
秒杀系统请求流程图如上图所示:
红色部分表示系统可能发生高并发的点
1.用户并发请求秒杀商品详情页信息
2.用户并发获取系统时间
3.用户并发请求地址暴露接口
4.执行秒杀操作
详情页与动态请求的关系
2.系统瓶颈分析与优化
2.1 CDN的理解
CDN(内容分发网络),加速用户获取数据的系统
部署在离用户最近的网络节点上
命中CDN不需要访问后端服务器,减轻后端服务器的压力,对用户快速响应。
互联网公司自己搭建或者租用
CDN的理解
2.2 获取系统时间
获取系统时间不需要优化2.3 秒杀地址接口分析
2.4秒杀操作优化分析
还有一个问题是,一行数据竞争:热点商品,大量更新请求竞争更新同一行数据。
2.5 其他方案分析
2.6 为什么不用 mysql 解决
是什么让mysql低效
image.png瓶颈分析
gc一般持续40-50ms
优化方向-减少行级锁持有时间
延迟分析
延迟分析很关键
系统并发越高,垃圾回收会越频繁。
异地机房
如何判断Update更新库存成功
1.update没有报错
2.客户端确认update影响行数
优化思路
image.png
把SQL全部放置在mysql上执行会更快。减少java 客户端GC以及通信之间的网络干扰。
优化思路