神州电商网站建设

申请试用

新闻中心
您当前位置:首页>新闻中心
新闻动态News center
产品动态 公司新闻 行业新闻
最新动态
  • 制作GIF图片要注意什么 2019-06-15

    Gif图可以带给人们视觉的动态效果,今天神州电商小编就来为大家介绍一下其制作的一些技巧!1、不要使用多余无效的内容在做 Gif动态图的时候,要尽量简化其中的内容,一般而言,更少的信息能够让你在制作动画的时候获...

  • 5G的物联网的时代 2019-06-15

    5G 是新一代蜂窝移动通信技术,也是 4G(LTE、WiMAX-A)、3G(UMTS)、2G(GSM)标准后的延伸。相比可打电话的 2G、能够上网的 3G、满足移动互联网用户需求的 4G 相比,逐步可以商用的 5G 在多重性能上更胜一筹,其...

  • 新资讯,深圳地铁站就能充值香港八达通 2019-05-17

    新资讯,深圳地铁站就能充值香港八达通来源深圳新闻网许多经常去香港自助游的深圳市民都会选择办一张八达通,遇需充值,不少市民会选择去口岸或者香港各个地铁站等处充值,其实不必舍近求远,在深圳许多地铁站的自助...

  • 如何修改微信公众平台的错别字 2019-05-17

    若一不小心在公众号发布的文章出现错误时,是否可以对此进行修改呢?小编告诉你,是可以进行修改的具体修改步骤如下:1、登录公众平台,在首页已群发列表,可以看到错别字修改入口。点击修改按钮,打开编辑页面;2、...

  • 5G时代的到来4G手机会被替代吗 2019-04-28

    科技在不断的快速发展,曾几何时,我们在通讯方面,想要与外界取得联系也是一件非常难的事情,而拥有一部手机是一件非常奢侈的事情。而很多用户经历了只能观看图文的2G时代,在经历了图文的3G时代之后,我们如今正处...

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

2018-10-18

浏览 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楼

在线客服 地图导航