热文订单系统设计方案之如何做历史订单和归档
根据二八定律,系统绝大部分的性能开销花在20%的业务。数据也不例外,从数据的使用频率来看,经常被业务访问的数据称为热点数据;反之,称之为冷数据。在了解的数据的冷、热特性后,便可以指导我们做一些有针对性的性能优化。这里...
根据二八定律,系统绝大部分的性能开销花在20%的业务。数据也不例外,从数据的使用频率来看,经常被业务访问的数据称为热点数据;反之,称之为冷数据。在了解的数据的冷、热特性后,便可以指导我们做一些有针对性的性能优化。这里...
互联网业务大部分都是 读多写少,为了提升数据库集群的吞吐性能,我们通常会采用 主从架构、读写分离部署一个主库实例,客户端请求所有写操作全部写到主库,然后借助 MySQL 自带的 主从同步 功能,做一些简单配置,可以近...
用户支付,我们要从买家账户减掉一定金额,再往卖家增加一定金额,为了保证数据的完整性、可追溯性,变更余额时,我们通常会同时插入一条记录流水。账户流水核心字段:流水ID、金额、交易双方账户、交易时间戳、订单号、注意:账户...
举个例子:商家发货,填写运单号,开始填了 123,后来发现填错了,然后又修改为 456。此时,如果就为某种特殊场景埋下错误伏笔,具体我们来看下过程:开始「请求A」发货,调订单服务接口,更新运单号 123但是响应有点慢...
常见的库存扣减方式有:下单减库存:即当买家下单后,在商品的总库存中减去买家购买数量。下单减库存是最简单的减库存方式,也是控制最精确的一种,下单时直接通过数据库的事务机制控制商品库存,这样一定不会出现超卖的情况。但是你...
购物车是电商系统的标配功能,暂存用户想要购买的商品。分为添加商品、列表查看、结算下单三个动作。技术设计并不是特别复杂,存储的信息也相对有限(用户id、商品id、sku_id、数量、添加时间)。这里特别拿出来单讲主要是...
商品信息是可以修改的,当用户下单后,为了更好解决后面可能存在的买卖纠纷,创建订单时会同步保存一份商品详情信息,称之为订单快照。同一件商品,会有很多用户会购买,如果热销商品,短时间就会有上万的订单。如果每个订单都创建一...
用户快速点了两次 “提交订单” 按钮,浏览器会向后端发送两条创建订单的请求,最终会创建两条一模一样的订单。解决方案:解决方案就是采用幂等机制,多次请求和一次请求产生的效果是一样的。方案一:利用数据库自身特性 “主键唯...
上一篇文章《实战项目之使用LiteFlow编写一个流程引擎(五)》我们已经完成了整个项目的代码编写,同时也附上了本源码的下载,这篇文章我们来测试一下。一、把项目启动起来这里我们把项目启动起来二、使用postman请求...
上一篇文章《实战项目之使用LiteFlow编写一个流程引擎(四)》我们已经把积木搭建好了,接下来我们就组合规则即可,按照之前的流程图,我们来组装下规则,首先在项目的resources目录下创建一个文件夹,名称为con...
上一篇文章《实战项目之使用LiteFlow编写一个流程引擎(三)》我们已经把基本的springboot项目创建好了,从这篇文章开始,我们正式开始LiteFlow。首先来回顾下之前的流程图从上图我们可以看到一共有10个...
上一篇文章《实战项目之使用LiteFlow编写一个流程引擎(二)》我们介绍了整个业务背景,同时也画了一个图展示整个的流程逻辑。这篇文章我们来创建一下相关的项目。这里的案例我们使用springboot的方式给大家演示,...
上一篇《实战项目之使用LiteFlow编写一个流程引擎(一)》我们简单介绍了LiteFlow,这篇文章我们开始介绍下案例的项目实战演进。首先,既然是流程,那么我们就需要有一个流程的业务存在,所以这里我以学校的招生报名...
在做ToB或者ToG相关的项目的时候,我们经常会涉及到使用流程引擎来做一些业务。例如大家常见的审批流转等功能。从这篇文章开始,我们来演示一个流程引擎的实战案例。说到流程引擎,大家最熟悉的就是activity,但是在这...
在之前给大家介绍了一下关于datax-web的方式做数据导入,从一个地方导入到另外一个地方,今天这篇文章再给大家介绍一个新的工具:DBSyncer这个工具个人用起来也比较顺手,示例图如下:这个工具在驱动配置里面可以做...