随笔分类 - .Net
摘要:【为了方便独立成文,原谅在内容排版上的一点点个人强迫症】
【本文内容由上一篇扩展论述(详见:商城系统下单库存管控系列杂记(一) http://www.cnblogs.com/bsfz/p/7801980.html)】
四、阐述关于并发环境中库存管控的一些案例问题,以及涉及到的相关技术实现细节
库存扣减,简单来说,就是在对应的存储器中(数据库或者持久缓存)将对应商品的数量减少。
数据库设计时,一般包含但不限于 商品主表,商品规格表,商品库存表,商品库存流水日志表等等。但这里为了方便后续阐述,将其简化为一张表——商品表(PT),该表仅包含两个字段——商品主键(id)和商品库存(qty )。
依然以商品P举例,其主键为pid,那么就是在下单时,将历史库存S修改为 S -N。具体到SQL里,原始操作大概是这样(以SQL SERVER 举例):
update PT set qty = (S - N) where id = pid ;
这是以前的最原始的操作方式,单粒度的看,也没什么大碍。然而,放在一个并发环境中,则立马暴露出诸多问题。
假定在同一时刻,
阅读全文
摘要:前言
参与过几个中小型商城系统的开发,随着时间的增长,以及对系统的深入研究和测试,发现确实有很多值得推敲和商榷的地方(总有很多重要细节存在缺陷)。基于商城系统,无论规模大小,或者本身是否分布架构,个人觉得最核心的一环就是下单模块,而这里面更相关和棘手的一些设计和问题,大多时候都涉及库存系统。想想之前跟某人的交流,他一句“库存管控做得好,系统设计就成功了一半”,自己颇有认同。围绕这个点,结合目前经验和朋友间的交流(包括近来参阅其他文章提到的点),闲来做些整理记录,也许不太完整,但总归希望能有更多启发,自己往后也会重新揣摩。当然,文中若有不妥,欢迎指正。
正文
谈及”下单“,就立刻想起前年参与的一个基于微信的小型商城系统,里面下单这块本身谈不上复杂,大概可以这样描述提交过程:用户提交商品订单,系统核对用户提交的订单,校验商品(商品价格、优惠折扣、积分等),检测附属信息(地址运费等),一切Pass,操作库存(记录/预扣),生成订单及相关联的明细数据。此时下单Ok,那么后续则是等待用户的及时付款了。
阅读全文
摘要:前言
自从不玩CSDN后,就两年没写博客了。目前打算用CNBLOG来重新写些分享,先尝试写写看。最近忙于新工作,公司是一家互联网创业公司,软件部门正处于部分调整和完善中,已经涉及到公司内部开发框架的新版设计和技术实现。原框架构建初期为了快速实现基础功能,底层设计上并不复杂,但后续没有管控的迭代,导致暴露问题较多(包括稳定、性能、以及灵活度),甚至设计思想层面上都存在明显局限(当然,这并不妨碍对初期相关人员的努力表示肯定)。个人目前的具体职能是软件研发(架构方向),这次将主要负责这一块的从零到一的整体设计和细节实现,这于本人也是一次新的挑战(涉及前后端较多技术点),包括后续也会作内部的技术培训和讨论。这段时间一直忙忙碌碌,稍得休息,想着把整体过程进行阶段性记录和交流分享。
谈及软件架构,无论你是看书,还是逛博客,会发现到处充斥着相关的专业名词,什么3Tier、工厂、MVC、MVP、MVVM、接口、TDD、DDD、CQRS、队列等等等。或是微观或是宏观,几乎每一个都有相关书籍的大篇幅介绍,你也能找到很多具体实现的开源项目去参考和借鉴。本人不会对这些去单独阐述个人的理解(当然能力也有
阅读全文

浙公网安备 33010602011771号