- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于秒杀应用业务系统框架设计
一种基于秒杀应用的业务系统框架设计
摘要:通过对秒杀系统的业务及性能需求进行分析,着重考虑系统的可靠性和可扩展性,提出一种适用于互联网秒杀应用的业务系统框架,主要包括商品维护、商品展示、库存管理和订单处理4大功能模块,并引入缓存技术对数据库读写逻辑进行优化,以达到系统高并发性和高可用性的设计目标。
关键词关键词:电子商务;秒杀;缓存;高并发
DOIDOI:10.11907/rjdk.143917
中图分类号:TP319
文献标识码:A文章编号文章编号2015)002009703
作者简介作者简介:邵斐(1982-),男,上海人,硕士,上海清算所工程师,研究方向为互联网电子商务相关应用系统。
0引言
随着电子商务的不断发展,秒杀\[1\]作为一种崭新的互联网营销模式也日益受到关注。由于秒杀这种网络促销行为能够在短时间内聚集大量人气,所以对企业具有极高的商业价值。但也由于很多电子商务平台\[2\]对于秒杀系统本身设计上的不足,使得在推广秒杀活动时,无法有效应付因活动时激增的用户访问量导致的平台运行不稳定问题,如访问超时、响应速度慢,甚至服务瘫痪等。为避免企业经济损失,挽回用户信心,设计一套专门的秒杀系统成为各家电商平台需要重点解决的问题。然而目前学术界专门论述如何建设电商领域的秒杀类应用系统的相关文献较少,因此本文从分析秒杀应用的特点出发,对如何构建具有实用性的秒杀系统进行了探索。
1秒杀系统框架设计
1.1秒杀系统分析
从电商平台的角度,秒杀类商品总是在某个特定的时间段内进行销售,有极强的时效性;从用户的角度,为了成功获得商品,往往会集中在秒杀活动开始时的一个较短时间内完成商品购买的整个流程,即抢购式的购买方法,因此导致了秒杀系统的并发访问是一种突发的高并发。另外秒杀归根到底是电商的一种促销手段,这种以超低价吸引买家的性质决定了对应的秒杀商品的库存数往往会控制在一个很少的量级单位。通过以上分析可以得出,要构建一套实用合理的秒杀业务系统需要从3个方面入手:①如何提供快速有效的商品信息展示;②如何做到商品库存实时更新;③如何实现稳定可靠的订单处理。
1.2秒杀系统功能设计
通常情况下高并发类型的系统\[3\]性能瓶颈往往集中在数据库的读写操作上,而通过分析,基于秒杀类商品的库存数量不会太大,且时间持续不会太长这一现实特点,可以得出秒杀系统的瓶颈更偏向于对数据库的读操作性能上。为提升秒杀系统的整体性能,可以在业务层和数据库层之间增加一个数据缓存层\[4\],使用缓存技术\[5\]将对数据库本身的读写请求降至最低。秒杀系统的总体功能模块如图1所示。
图1秒杀系统功能模块
秒杀系统中的缓存使用主要体现在以下3个方面:①用于商品基本信息的展示。通过将商品的动态网页内容转换成静态页面形式保存,以避免对相同商品的重复访问而导致的大量数据库读操作;②用于商品库存的实时管理。在秒杀活动过程中先通过缓存维护库存信息,活动结束后再统一更新入库,有效降低活动进行中对数据库的频繁修改操作;③用于商品订单管理。所有秒杀商品订单先统一存入缓存中,待秒杀活动结束后再统一进行结算处理,这样可以尽可能地将所有计算能力都放在应对用户的访问请求服务上。
1.2.1商品维护模块设计
商品维护作为独立的后台模块专门用于对秒杀商品的设置,包括商品描述、特征分类、商品价格、库存、售卖时间等信息。管理员可在此模块中进行商品的添加、修改、删除等操作。由于商品信息本身不是一成不变的,尤其是在商品秒杀活动过程中遇到需要变更商品信息的情况更是不可避免,因此必须有一套与缓存策略相适应的数据更新策略。具体做法是在商品维护模块中对商品进行任何变更后,除了更新数据库中的商品信息外,还需要在数据库中记录商品更新的时间戳信息。此表将作为商品缓存管理时检测商品信息新鲜度的重要标识。商品维护业务流程如图2所示。
图2商品维护业务流程
1.2.2商品展示模块设计
秒杀系统主要通过页面缓存\[6\]来解决提供稳定可靠的商品基本信息查询服务的问题,即将秒杀商品网页预先生成静态HTML页面并存放在缓存中,而不是重新通过IO读取。商品展示模块的业务流程如图3所示。
图3商品展示业务流程
当用户访问相关页面时先判断商品页面是否存在缓存,如果存在则直接调用静态页面,否则才从数据库中读取动态数据信息。本文中的缓存使用MemCached进行HTML网页的数据存储,当缓存不存在时系统将调用API从数据库获取数据,而此操作将会成为整个系统的性能瓶颈。为尽量避免对数据库的操作,需要在系统中单独部署一个Job服务,在秒杀活动开始前遍历相关商品,预先生成页面缓存信息。如果在某些特
您可能关注的文档
最近下载
- 新版(高级)汽车驾驶员考试题库大全(含答案).docx
- 长沙会战幻灯片.ppt VIP
- 7.《短歌行》《归园田居(其一)》联读课件 统编版高中语文必修上册.pptx VIP
- TB 10753-2018 高速铁路隧道工程施工质量验收标准.pdf VIP
- 压型彩钢屋面板施工方案方案.pdf VIP
- 情境教学法在小学英语课堂教学中的运用.pptx VIP
- 全国生态状况调查评估技术规范——生态系统服务功能评估(HJ 1173—2021).pdf VIP
- 北师大版四年数学上册六除法《路程、时间与速度》课件.pptx VIP
- 2025年一季度专题党课讲稿讲稿:提升党性修养践行使命担当.pptx VIP
- 频率选择表面赋能多功能隐身雷达天线罩:理论、设计与应用探索.docx
文档评论(0)