秒杀
文章平均质量分 65
﹏天微亮ミ夜微凉╮
......
展开
-
【秒杀扩展】mysql 性能优化
通用性能优化口诀缓存异步批处理mysq| 应用优化写操作:批量insert,批量updateSq|编译N次和1次的时间与空间复杂度网络消耗的时间复杂度磁盘寻址的复杂度读操作:索引主键查询千万条记录1-10ms唯一索引千万条记录10-100ms非唯一索引千万条记录100- 1000ms无索引百万条记录1000ms+单机配置优化max_connection = 1000mysql 执行引擎先不是操作数据而是记录日志undo/redo 日志顺序写操作.原创 2021-07-01 17:33:35 · 103 阅读 · 0 评论 -
【秒杀系统】查询性能优化技术之页面静态化
DNS用CNAME解析到源站整个的一个商品详情页,先加载静态资源后通过 ajax 请求获取商品详情页内容渲染的方式,任何一步没做到位,都会拖累整个系统 tps/qps 的一个响应现在的静态请求直接是打到我们的 Nginx 的 resources 的目录,现在将 resources 的地址重定向到阿里云的 CDN 内容分发网络,在获取静态资源内容先通过 CDN,CDN 没有在回源到阿里云源站(源站可以理解为本地静态资源文件),一边返回静态资源文件一边缓存起来,以便用户下一次访问时可以不做回源的操作原创 2021-07-01 17:33:10 · 253 阅读 · 0 评论 -
【秒杀扩展】登录态管理
分布式会话持久性管理当一个用户通过前端访问时, Nginx 通过反向代理负载均衡的轮询策略转发打到 tomacat 中的 java 上,再这样的分布式会话中,原本 cookie + session 的方案在 tomcat 的内存级别维护 session 的列表显然就失效了,tomcat 之间的内存并不是互通的,这时就需要引入分布式会话管理存储会话有效期不与服务端发生交互的呆滞时间,Tomcat默认为30m会话续命:当用户在呆滞时间内又带着 cookieId 的请求过来,tomcat 会寻找到对应原创 2021-07-01 17:32:29 · 133 阅读 · 0 评论 -
【秒杀系统】防刷限流技术
验证码生成与验证技术包装秒杀令牌前置,需要验证码来错峰数学公式验证码生成器//生成验证码 @RequestMapping(value = "/generateverifycode",method = {RequestMethod.GET,RequestMethod.POST}) @ResponseBody public void generateverifycode(HttpServletResponse response) throws BusinessException,原创 2021-07-01 17:32:01 · 133 阅读 · 0 评论 -
【秒杀系统】流量削峰
为什么会存在流量削峰?主要是包含两个方面的能力,在之前经历了查询优化技术、交易优化技术使用了缓存校验 + 异步扣减库存的方式使得秒杀下单的性能有了明显提升。但是,再这样的一些技术当中,仍然不得不面临一些问题,也就是浪涌洪峰流量的涌入问题,秒杀瞬间的流量很大,我么需要将涌入的巨大流量平滑的过渡掉。因此,流量削峰技术应运而生目标掌握秒杀令牌的原理和使用方式掌握秒杀大闸的原理和使用方式掌握队列泄洪的原理和使用方式目前秒杀系统的缺陷秒杀下单接口会被脚本不停的刷新:秒杀的下单接口就是一个公网的原创 2021-07-01 17:31:33 · 213 阅读 · 0 评论 -
【秒杀系统】交易性能优化之缓存库存
交易性能瓶颈交易验证完全依赖数据库 @Override @Transactional public OrderModel createOrder(Integer userId, Integer itemId, Integer promoId, Integer amount) throws BusinessException { //1.校验下单状态,下单的商品是否存在,用户是否合法,购买数量是否正确 ItemModel itemModel = i原创 2021-07-01 17:31:08 · 1915 阅读 · 0 评论 -
【秒杀系统】查询性能优化技术之多级缓存
多级缓存redis缓存默认springboot自带redisTemplet不带序列化热点内存本地缓存nginx proxy cache缓存nginx lua缓存原创 2021-07-01 17:30:36 · 151 阅读 · 0 评论 -
【秒杀系统】分布式扩展
nginx反向代理负载均衡单机容量问题,水平扩展表象:单机cpu使用率增高,memory占用增加,网络带宽使用增加cpu us :用户空间的cpu使用情况(用户层代码)cpu sy :内核空间的cpu使用情况(系统调用)load average : 1,5,15分钟load平均值,跟着核数系数, 0代表通常 1代表打满1+代表等待阻塞memory:free空闲内存, used使用内存nginx反向代理makemake install动静分离负载原创 2021-07-01 17:30:03 · 135 阅读 · 0 评论 -
【秒杀系统】云端部署、性能压测
项目云端部署JDK 安装默认安装在 /usr/java 中刷新环境变量MySQL 安装备份、上传、恢复用maven打成jar包上传到服务器命令行输入:mvn clean packagepom 文件添加后刷新maven上传到服务器执行 java -jar 命令,访问不出来,去阿里云开放端口外挂配置文件编写 deploy 脚本jmeter性能压测线程组Http请求查看结果树聚合报告发现并发容量问题top -h先压200再5原创 2021-07-01 17:29:38 · 141 阅读 · 0 评论