- 
            
            存在着成本性问题 查看全部
- 
            
            使用redis/NoSQL的数据验真,将逻辑操作解析等校验后调用MQ进行解耦,发送消息队列,或调用MQ的异步操作提高效率异步处理事务;最后根据队列执行结果对MySQL进行操作,这一步需要根据消费消息的结果来操作,即落地实现 腾讯 阿里之前做的解决方案中常用的方案 查看全部
- 
            
            【秒杀操作优化分析】 CDN只能缓存url固定的资源: - 秒杀地址是变化的,无法用CDN进行缓存 
- 大部分写操作和最核心的数据的请求,无法用CDN 
 不能在缓存里减库存,因为并发,会有不一致的问题 ——>通过mysql的事务来保证数据的一致性; 难点:一瞬间大量用户参与热门商品竞争,MySQL一行数据会有大量竞争,有大量的updata减库存竞争 查看全部
- 
            
            【秒杀地址接口优化】 无法使用CDN缓存,(因为秒杀地址是会变化的) 适合服务器端缓存:redis等 一致性维护成本低:超时穿透/主动更新 缓存半小时,半小时之后,这个redis的秒杀对象就会超时,超时之后 ,重新访问mysql服务器获取数据,或者是当我们的mysql更新时 我主动的更新一下redis缓存,这样也非常方便 暴露秒杀地址 查看全部
- 
            
            无法使用CDN缓存:CDN对应不变的东西,秒杀地址是变化的 可以使用业务系统控制,所以适合服务端缓存 因为一致性维护成本低,适合服务端缓存 查看全部
- 
            
            获取系统时间的请求不会缓存到CDN上,而是直接调用服务器 查看全部
- 
            
            【为什么要单独获取系统时间?】 静态资源会部署到CDN上,访问detail页,静态资源等不需要访问秒杀系统,因此要单独做一个请求获取系统时间。 【CDN的理解】 大部分的视频加速完全依赖于CDN 查看全部
- 
            
            33333 查看全部
- 
            
            为高并发优化做铺垫 查看全部
- 
            
            红色:可能出现高并发的点 绿色:无影响 查看全部
- 
            
            典型的部署架构 查看全部
- 
            
             当mysql执行update会获得行级锁,所以将insert语句调到update语句的前面,减少其获得行级锁的时间,来达到并发优化查看全部 当mysql执行update会获得行级锁,所以将insert语句调到update语句的前面,减少其获得行级锁的时间,来达到并发优化查看全部
- 
            
            代码调整,先insert后update,减少获取rowlock的时间,优化性能 查看全部
- 
            
            代码增加redis访问 查看全部
- 
            
            在serviceImpl中注入redis层的数据 查看全部
举报
 
             
         
                 
                 
                