全栈工程师Java并发编程

Java 高并发秒杀-系统优化(重要)

2018-05-06  本文已影响120人  markfork

章节目录

1.秒杀系统请求流程图

秒杀系统请求流程图
如上图所示:
红色部分表示系统可能发生高并发的点
1.用户并发请求秒杀商品详情页信息
2.用户并发获取系统时间
3.用户并发请求地址暴露接口
4.执行秒杀操作

详情页与动态请求的关系

2.系统瓶颈分析与优化

2.1 CDN的理解

 CDN(内容分发网络),加速用户获取数据的系统
 部署在离用户最近的网络节点上
 命中CDN不需要访问后端服务器,减轻后端服务器的压力,对用户快速响应。
 互联网公司自己搭建或者租用
CDN的理解

2.2 获取系统时间

获取系统时间不需要优化

2.3 秒杀地址接口分析

image.png 秒杀地址接口优化分析

2.4秒杀操作优化分析

image.png

还有一个问题是,一行数据竞争:热点商品,大量更新请求竞争更新同一行数据。

2.5 其他方案分析

其他方案分析 技术成本

2.6 为什么不用 mysql 解决

测试场景 1s 可执行4w次查询

是什么让mysql低效

image.png

瓶颈分析

瓶颈分析
gc一般持续40-50ms

优化方向-减少行级锁持有时间

减少行级锁持有时间

延迟分析
延迟分析很关键

网络与GC
系统并发越高,垃圾回收会越频繁。
异地机房

如何判断Update更新库存成功

1.update没有报错
2.客户端确认update影响行数
优化思路 image.png

把SQL全部放置在mysql上执行会更快。减少java 客户端GC以及通信之间的网络干扰。

优化思路
上一篇下一篇

猜你喜欢

热点阅读