业务场景
红色标块 表示可能出现的并发较高的地方,详情页可能会不断刷新,或许系统时间,因为Java `new`一个对象返回并不耗计算时间,这个操作可以1秒完成几亿次,地址暴露接口和执行秒杀接口是性能瓶颈。
秒杀列表页
秒杀详情页
用户会一直刷新秒杀详情页直到有秒杀的按钮为止
针对这种用户行为,设计详情页的静态资源部署在`CDN`上,这样用户就近拿资源,而商品的详情信息则使用Redis内存缓存技术实现从内存中读取,从而减少网络IO时间
这里使用了高性能的序列化方案,protostuff,快速压缩和压缩成尽可能小的字节数组
具体的性能对比可以查看[GitHub](https://github.com/eishay/jvm-serializers/wiki)
这里没有做数据更新修改Redis,只是基于超时的缓存修改
对于秒杀操作分析
一般公司解决方案
本案例中秒杀操作事务分析
针对以上提出简单的优化
将行级锁操作放到插入购买明细后,使得行级锁等待提交事务的时间变少,调换位置并不影响业务流程
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于