文档章节

开发设计秒杀活动的一些心得

叶落花开
 叶落花开
发布于 2012/10/17 19:56
字数 344
阅读 1183
收藏 4
点赞 0
评论 11

1.开发程序时要在最大限度上防止秒杀器、秒杀脚本能够参与到秒杀中,增加脚本参与秒杀的难度,比如增加验证码、提交验证码次数等。

2.最大限度上减少数据库请求,该放Memcached的要放Memcached。

3.js、css、images等静态文件要放在单独的服务器上,防止出现web服务器连接数过大的情况。

4.尽量减少页面文件大小。图片什么的能压缩就压缩。自己写的js尽量合并成一个,css也尽量合并成一个,这样能减少客户端请求数。像Jquery等必须用但是又有点大的js最好使用Google CDN提供的或者其他CDN。

5.充分考虑高并发的情况下,程序会产生什么漏洞。

6.可以限制能够进入到秒杀过程的用户数量,在一定数量的用户请求进入服务器后,后边的用户可以直接告诉他“秒杀已结束”。

7.千万不要使用struts标签或其他框架标签,纯JSP代码完全可以解决问题。jquery能不用就尽量不用。

以上是开发设计秒杀活动的一点心得,如有不妥之处,望不吝赐教!

© 著作权归作者所有

共有 人打赏支持
叶落花开

叶落花开

粉丝 47
博文 63
码字总数 18595
作品 0
武汉
程序员
加载中

评论(11)

叶落花开
叶落花开

引用来自“SimonYe”的评论

如果Memcached一挂怎么办。。。
做好第6条措施后,Memcached很难挂掉...
叶落花开
叶落花开

引用来自“SunnyWu”的评论

超服务器连接数上限怎么办?
采用第6条措施后,很难超过上限。
SimonYe
SimonYe
如果Memcached一挂怎么办。。。
SunnyWu
SunnyWu
超服务器连接数上限怎么办?
biGpython
biGpython

引用来自“叶落花开”的评论

引用来自“biGpython”的评论

7.千万不要使用struts标签或其他框架标签?为什么呢 那用什么替代 EL??

标签库都很占内存,尤其是大并发情况下...纯jsp代码完全能代替EL吧

了解,感谢回复。
叶落花开
叶落花开

引用来自“biGpython”的评论

7.千万不要使用struts标签或其他框架标签?为什么呢 那用什么替代 EL??

标签库都很占内存,尤其是大并发情况下...纯jsp代码完全能代替EL吧
biGpython
biGpython
7.千万不要使用struts标签或其他框架标签?为什么呢 那用什么替代 EL??
此人已死,有事烧纸
此人已死,有事烧纸

引用来自“叶落花开”的评论

引用来自“walala”的评论

我觉得应该设置一个服务器用于均衡负载。

不过我觉得这个不用写了,如果有多台web服务器,肯定要负载均衡的

额,我理解错误。
叶落花开
叶落花开

引用来自“walala”的评论

我觉得应该设置一个服务器用于均衡负载。

不过我觉得这个不用写了,如果有多台web服务器,肯定要负载均衡的
叶落花开
叶落花开

引用来自“walala”的评论

我觉得应该设置一个服务器用于均衡负载。

这个确实有,忘记写了。流汗...
说说网站限时秒杀系统的架构设计

时值双十一在即,各大网站都在争相进行限时秒杀的促销活动。秒杀是一种常见的营销手段,它指的是把少量的商品(一般是一件)以极低的价格,在特定的时间点开始销售。这些商品一般在活动开始的...

deniro
2017/11/09
0
0
SpringBoot开发案例从0到1构建分布式秒杀系统

前言 最近,被推送了不少秒杀架构的文章,忙里偷闲自己也总结了一下互联网平台秒杀架构设计,当然也借鉴了不少同学的思路。俗话说,脱离案例讲架构都是耍流氓,最终使用SpringBoot模拟实现了...

小柒2012
05/16
0
0
秒杀系统企业级实战应用(真实工业界案例)

随着互联网不断发展,电商越来越流行,商家为了多卖商品,给宝贝们标出了放血的价格, 剁手党们也是参与各种抢购和秒杀活动。那么问题来了,面对瞬间爆发的访问压力和海量的交易数据,我们该...

小红牛
05/17
0
0
SF 讲堂优惠最后一天,不容错过!

这两天,有些机智的小伙伴已经发现了 SegmentFault(以下简称 SF)的部分讲座贴上了双十一的活动角标。别着急,这只是一部分而已,还有些优惠讲座在贴角标的路上~ S 于是,小伙伴们纷纷问起了...

Jenny
2017/11/04
0
0
热点推荐:秒杀系统架构分析与实战

1 秒杀业务分析 正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货 秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(...

洋哥6
2016/04/14
359
1
Navicat for MySQL v11.2.13发布,获取查询状态错误修复

Navicat for MySQL 是一套管理和开发 MySQL 或 MariaDB 的理想解决方案。使用Navicat for MySQL可以同时连接到 MySQL 和 MariaDB。Navicat for MySQL提供了强大的前端功能,为数据库管理、开...

zoujiajun33
2016/11/03
5
0
微信高并发资金交易系统设计方案——百亿红包背后的技术支撑

作者|方乐明 编辑|尾尾每年节假日,微信红包的收发数量都会暴涨,尤以除夕为最。如此大规模、高峰值的业务需要,背后需要怎样的技术支撑?百亿级别的红包规模,如何保证并发性能与资金安全...

umgsai
2017/09/26
0
0
【CSDN博客之星】成功连任2013年CSDN年度博客之星,非常感谢大家的支持!祝大家新春快乐!

各位读者好, 本人博客开通2年半以来发表技术文章152篇(全部原创),访问量152万。博客文章通俗易懂,图文并茂,《秒杀多线程面试题系列》,《白话经典算法系列》,《C++ STL》,《Win...

morewindows
2013/12/14
0
0
张明云的Live——安卓开发书籍推荐和阅读心得分享

零 Live主题本次Live入口:安卓开发书籍推荐和阅读心得分享 一 关于我 我是张明云,常活跃于知乎和简书,知乎 Android 开发 和 编程 话题下优秀回答者;简书《Android 开发经验谈》专题管理员...

张明云
2016/11/17
0
0
淘宝大秒系统设计详解

大家还记得2013年的小米秒杀吗?三款小米手机各11万台开卖,走的都是大秒系统,3分钟后成为双十一第一家也是最快破亿的旗舰店。经过日志统计,前端系统双11峰值有效请求约60w以上的QPS ,而后...

陶邦仁
2016/03/14
524
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

对基于深度神经网络的Auto Encoder用于异常检测的一些思考

一、前言 现实中,大部分数据都是无标签的,人和动物多数情况下都是通过无监督学习获取概念,故而无监督学习拥有广阔的业务场景。举几个场景:网络流量是正常流量还是攻击流量、视频中的人的...

冷血狂魔
18分钟前
0
0
并发设计之A系统调用B系统

A-->B A在发送请求之前,用乐观锁,减少对B的重复调用,这样一定程度上是幂等性。 比如A系统支付功能,要调用B系统进行支付操作,但是前端对"支付"按钮不进行控制,即用户会不断多次点击支付...

汉斯-冯-拉特
38分钟前
0
0
HTTP协议通信原理

了解HTTP HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务。 HTTP使用...

寰宇01
今天
0
0
【Java动态性】之反射机制

一、Java反射机制简介

谢余峰
今天
1
0
Centos 6.X 部署环境搭建

1.Linux学习笔记CentOS 6.5(一)--CentOS 6.5安装过程

IT追寻者
今天
0
0
博客即同步至腾讯云+社区声明

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=8vy9bsmadbko...

xiaoge2016
今天
1
0
大数据教程(3.1):Linux系统搭建网络YUM源服务器

博主在前面的2.5章节讲述了linux系统本地YUM服务器的搭建和httpd轻量级静态网站服务器的安装,本节博主将为大家分享内网环境中搭建自己的网络YUM服务器的全过程。如果大家对本地YUM服务器还不...

em_aaron
今天
1
0
蚂蚁技术专家:一篇文章带你学习分布式事务

小蚂蚁说: 分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在这几年越来越火的微服务架构中,几乎可以说是无法避免,本文就围绕分布式事务...

Java大蜗牛
今天
1
0
新的Steam应用将拓展服务项目

导读 未来几周,Steam将推出两个免费的应用程序Steam Link和Steam Video。这两个应用程序都旨在拓展Steam平台的业务和便利性。 即将开放的Steam Link应用程序最先提供了Android测试版,它将允...

问题终结者
今天
0
0
golang 第三方包的使用总结

golang 第三方包的安装的方法: 1. go get 安装 $ go get github.com/gin-gonic/gin 注意:执行go get 命令需要先安装git命令,并配置git全局变量。 2. 源码包安装 由于国内网络问题,很多时...

科陆李明
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部