章节目录
- 秒杀系统请求流程图
- 系统性能瓶颈分析与优化思路
- 彩蛋福利
1.秒杀系统请求流程图
![2836699-fdb1c679bfeb764a.png](https://i-blog.csdnimg.cn/blog_migrate/b58cc86e6adbdca39d37884a722d4459.webp?x-image-process=image/format,png)
秒杀系统请求流程图
如上图所示:
红色部分表示系统可能发生高并发的点
1.用户并发请求秒杀商品详情页信息
2.用户并发获取系统时间
3.用户并发请求地址暴露接口
4.执行秒杀操作
详情页与动态请求的关系
![2836699-dd8410966b27c47d.png](https://i-blog.csdnimg.cn/blog_migrate/c5dc4357cde7e9b43508f798cddf43d4.webp?x-image-process=image/format,png)
2.系统瓶颈分析与优化
2.1 CDN的理解
CDN(内容分发网络),加速用户获取数据的系统
部署在离用户最近的网络节点上
命中CDN不需要访问后端服务器,减轻后端服务器的压力,对用户快速响应。
互联网公司自己搭建或者租用
![2836699-a2e2b837ee7e042f.png](https://i-blog.csdnimg.cn/blog_migrate/04b7bbbef24c23917f8bf167013e9852.webp?x-image-process=image/format,png)
CDN的理解
2.2 获取系统时间
![2836699-aa2d7878dc2ed350.png](https://i-blog.csdnimg.cn/blog_migrate/b381bf73c9452bcc505adea29c00c117.webp?x-image-process=image/format,png)
获取系统时间不需要优化
2.3 秒杀地址接口分析
![2836699-10344adfedc98a0a.png](https://i-blog.csdnimg.cn/blog_migrate/135113cc4cd8dd075b2f6920b590a103.webp?x-image-process=image/format,png)
image.png
![2836699-f7dc09eae091836c.png](https://i-blog.csdnimg.cn/blog_migrate/ccd7b88b7b4c9649bbd9f7a65f5dc9b4.webp?x-image-process=image/format,png)
秒杀地址接口优化分析
2.4秒杀操作优化分析
![2836699-ad54cdab36545e4f.png](https://i-blog.csdnimg.cn/blog_migrate/add7518917d6d673976831469589bc3c.webp?x-image-process=image/format,png)
image.png
还有一个问题是,一行数据竞争:热点商品,大量更新请求竞争更新同一行数据。
2.5 其他方案分析
![2836699-8e97b6a198b98148.png](https://i-blog.csdnimg.cn/blog_migrate/966bb8f858d5a19a210c6b658425018c.webp?x-image-process=image/format,png)
其他方案分析
![2836699-4aec1f80c522fa39.png](https://i-blog.csdnimg.cn/blog_migrate/cf43be84b561746a4794f628718b78ac.webp?x-image-process=image/format,png)
技术成本
2.6 为什么不用 mysql 解决
![2836699-ac45e6a22010994d.png](https://i-blog.csdnimg.cn/blog_migrate/3412baee11b81cf8d5bafde4aa139b65.webp?x-image-process=image/format,png)
测试场景
![2836699-83b02c550343cc7f.png](https://i-blog.csdnimg.cn/blog_migrate/b886cebdbde3feca1b062f2243bffa39.webp?x-image-process=image/format,png)
1s 可执行4w次查询
是什么让mysql低效
![2836699-c59023fe2f97df3f.png](https://i-blog.csdnimg.cn/blog_migrate/4d3f8794576729fd6c7acf4b40595d6d.webp?x-image-process=image/format,png)
image.png
瓶颈分析
![2836699-c74a9f80ddbc4e1d.png](https://i-blog.csdnimg.cn/blog_migrate/f11b6a6b336cb6b4d00f6bb4abfb25ca.webp?x-image-process=image/format,png)
瓶颈分析
gc一般持续40-50ms
优化方向-减少行级锁持有时间
![2836699-4697305dfa35290e.png](https://i-blog.csdnimg.cn/blog_migrate/37d87bb455138fd6c26b97505a65238c.webp?x-image-process=image/format,png)
减少行级锁持有时间
延迟分析
延迟分析很关键
![2836699-0e9b0aed2932e9cc.png](https://i-blog.csdnimg.cn/blog_migrate/0336fce35be5d8f67264e8df8bf0800c.webp?x-image-process=image/format,png)
网络与GC
系统并发越高,垃圾回收会越频繁。
异地机房
![2836699-3d87c8a372db3a68.png](https://i-blog.csdnimg.cn/blog_migrate/0eb2ed8ffe762aa35a3a2d017ebe1650.webp?x-image-process=image/format,png)
如何判断Update更新库存成功
1.update没有报错
2.客户端确认update影响行数
![2836699-3a97358f7f88cff2.png](https://i-blog.csdnimg.cn/blog_migrate/cd03ce4dc9b5ef544c9e4e4356713d7c.webp?x-image-process=image/format,png)
优化思路
![2836699-5eeb1ba819ffc205.png](https://i-blog.csdnimg.cn/blog_migrate/605fe67fe0caf9c9a6796517ce300a1d.webp?x-image-process=image/format,png)
image.png
把SQL全部放置在mysql上执行会更快。减少java 客户端GC以及通信之间的网络干扰。
![2836699-9d8df902d1fcf4f9.png](https://i-blog.csdnimg.cn/blog_migrate/d9e7fa4d55e5026102c76672f11e10e5.webp?x-image-process=image/format,png)
优化思路
彩蛋福利
职位:腾讯OMG 广告后台高级开发工程师;
Base:深圳;
场景:海量数据,To B,To C,场景极具挑战性。
基础要求:
熟悉常用数据结构与算法;
熟悉常用网络协议,熟悉网络编程;
熟悉操作系统,有线上排查问题经验;
熟悉MySQL,oracle;
熟悉JAVA,GoLang,c++其中一种语言均可;
可内推,欢迎各位优秀开发道友私信[微笑]
期待关注我的开发小哥哥,小姐姐们私信我,机会很好,平台对标抖音,广告生态平台,类似Facebook 广告平台,希望你们用简历砸我~
联系方式 微信 13609184526