神州电商网站建设

申请试用

新闻中心
您当前位置:首页>新闻中心
新闻动态News center
产品动态 公司新闻 行业新闻
最新动态
  • 微信公众号怎么申请微信支付? 2018-08-17

    微信公众号怎么申请微信支付?微信商城大部分都是需要申请微信支付的,但是还有很多人不是特别了解微信公众号支付该怎么样申请,接下来商城系统开发——-神舟电商小编就给大家讲下关于微信支付申请的一些知识,希望...

  • 商城系统开发浅析系统和平台的区别! 2018-08-17

    商城系统开发浅析系统和平台的区别!系统是指将零散的东西进行有序的整理、编排形成的具有整体性的整体。在数字信号处理的理论中,人们把能加工、变换数字信号的实体称作系统。由于处理数字信号的系统是在指定的时刻...

  • 深圳分销商城系统开发大概需要多少钱? 2018-08-17

    深圳分销商城系统开发大概需要多少钱?开发分销商城系统的价格一般与客户的需求功能及分销商城系统开发团队的技术等相关!分销商城系统开发团队自己开发,开发价格与开发人员、开发功能、开发周期、后期维护等相关,...

  • 新零售系统是什么?神州电商的独特见解! 2018-08-16

    新零售系统是什么?神州电商的独特见解!新零售,即企业以互联网为依托,通过运用大数据、人工智能等先进技术手段,对商品的生产、流通与销售过程进行升级改造,进而重塑业态结构与生态圈,并对线上服务、线下体验以...

  • 模板建站和定制的到底哪个好? 2018-08-16

    模板建站和定制的到底哪个好?定制网站更突显出企业的形象,风格和特征,是根据企业的形象做出来的,可以随意修改,功能完善,模板网站却是套用已经做好的一类网站,只是修改一下图片,logo,内容,网站都是千篇一律...

微信红包系统的技术难点:“秒杀”系统的架构设计

2018-05-21

浏览 0 次   来源:admin

微信红包系统的技术难点:“秒杀”系统的架构设计
一个“秒杀”活动,对应DB中的一条库存记录。当用户进行商品“秒杀”时,系统的主要逻辑在于DB中库存的操作上。一般来说,对DB的操作流程有以下三步:
锁库存
插入“秒杀”记录
更新库存
其中,锁库存是为了避免并发请求时出现“超卖”情况。同时要求这三步操作需要在一个事务中完成(所谓的事务,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行)。
“秒杀”系统的设计难点就在这个事务操作上。商品库存在DB中记为一行,大量用户同时“秒杀”同一商品时,第一个到达DB的请求锁住了这行库存记录。在第一个事务完成提交之前这个锁一直被第一个请求占用,后面的所有请求需要排队等待。同时参与“秒杀”的用户越多,并发进DB的请求越多,请求排队越严重。因此,并发请求抢锁,是典型的商品“秒杀”系统的设计难点。
微信红包业务相比普通商品“秒杀”活动,具有海量并发、高安全级别要求的特点。在微信红包系统的设计上,除了并发请求抢锁之外,还有以下两个突出难点:
首先,事务级操作量级大。上文介绍微信红包业务特点时提到,普遍情况下同时会有数以万计的微信群在发红包。这个业务特点映射到微信红包系统设计上,就是有数以万计的“并发请求抢锁”同时在进行。这使得DB的压力比普通单个商品“库存”被锁要大很多倍。
其次,事务性要求严格。微信红包系统本质上是一个资金交易系统,相比普通商品“秒杀”系统有更高的事务级别要求。
解决高并发问题常用方案
普通商品“秒杀”活动系统,解决高并发问题的方案,大体有以下几种:
方案一,使用内存操作替代实时的DB事务操作。
,将“实时扣库存”的行为上移到内存Cache中操作,内存Cache操作成功直接给Server返回成功,然后异步落DB持久化。
方案二,使用乐观锁替代悲观锁。
所谓悲观锁,是关系数据库管理系统里的一种并发控制的方法。它可以阻止一个事务以影响其他用户的方式来修改数据。如果一个事务执行的操作对某行数据应用了锁,那只有当这个事务把锁释放,其他事务才能够执行与该锁冲突的操作。对应于上文分析中的“并发请求抢锁”行为。
这个方案解决了“并发请求抢锁”的问题,可以提高DB的并发处理能力。
但是如果应用于微信红包系统,则会存在下面三个问题:
如果拆红包采用乐观锁,那么在并发抢到相同版本号的拆红包请求中,只有一个能拆红包成功,其他的请求将事务回滚并返回失败,给用户报错,用户体验完全不可接受。
如果采用乐观锁,将会导致第一时间同时拆红包的用户有一部分直接返回失败,反而那些“手慢”的用户,有可能因为并发减小后拆红包成功,这会带来用户体验上的负面影响。
如果采用乐观锁的方式,会带来大数量的无效更新请求、事务回滚,给DB造成不必要的额外压力。

神州电商专注于分销商城系统_深圳分销商城系统_微商城分销系统_商城系统开发_微信商城_APP定制_神州电商等业务 有需要请拨打热线:15118148970 曹女士

返回

上一篇:App可直接打开小程序,对于微信来说意味着什么?

下一篇:神州电商:纯线上的小程序使用频率不高

神州电商(深圳)有限公司 网站建设 粤ICP备18096080号

QQ:849924915 Tel:0755-23281900 15118148970

地址:深圳市福田区泰然八路18号安华工业区5栋5楼

在线客服 地图导航