电商超卖
来源:互联网 发布:免费热敏打印软件 编辑:程序博客网 时间:2024/05/29 18:28
1、前端三板斧【扩容】【限流】【静态化】
2、后端两条路【内存】+【排队】
问题的根本是一件商品的库存只有一个数,大量并发要 select/update-1 就会出现事务锁冲突,这个完全时逻辑冲突。
解决的办法时将库存数分成若干大池,比如商品A一共有5000件,可以分为100个池子,每个池子50件。
所有的并发请求根据用户ID hash 到特定的池子,看还有无富余,这样原先单一序列化排队就分散成100个小的序列化排队,从而减少的冲突,系统并发锁等待时间降低了。
当然,可以某用户hash到的池子没有商品,但是其他池子里有,那么他用不了,对于较大的用户量来说,这都不是问题,因为申请者数量远远大于提供的配额。
分布式session同步(解析IP的时候统一用户在不同页面可能解析到不同IP的主机上所以要实现session跨域)
1.存数据库 缺点加大数据库访问
2.cookies 用户可能禁用 cookies也可以伪造
3.memcache 比较好
0 0
- 电商超卖
- 考试篇(5.2) NSE4 题库 21. IPv6 ❀ 飞塔 (Fortinet) 网络安全专家
- PHP——防止Emain注入
- ES6 -- 异步编程神器2:Generator
- .net操作SQLite数据库
- eclipse配置git
- 电商超卖
- 大数据IMF传奇行动绝密课程第120课:Spark Streaming性能优化:如何在End-to-End生产环境下安全高效地把结果数据存入HBase中
- poj之旅:1195 树状
- 离散基础 (14). 驻点极值和最值问题
- Android-okhttp下载图片并保存(刷新图库)
- 【树】洛谷 P1087 FBI树
- py编辑器激活
- 段选择器 段描述符 段描述符表 线性地址形成
- 程序生成打包