学起来!高并发库存秒杀场景,阿里巴巴数据库是这样应对的
简单库存场景的数据库实现
一般来说,从数据库层面讲,库存业务会分为两步,第一步是插入一条记录到扣减明细表inventory_detail,第二步是对库存扣减表inventory的一条记录进行扣减,这两步往往是在一个事务中实现的。
数据库业务架构图如下,所有的请求均发往同一个Database。
从上文的架构图不难看出,所有的商品的库存信息都存在单一的表和库里,当商品种类繁多或者业务并发请求暴涨时,单实例的数据库显然会成为容量或者性能瓶颈。该数据库架构一般只是功能性的实现,主要用于微型库存系统或者测试使用。
高并发库存系统的数据库实现
为了解决单实例存在的容量和性能上限问题,阿里巴巴所有的库存系统在十年前就实现了分库分表设计,主要通过数据的水平拆分实现不同商品的库存扣减请求路由到不同的数据库。基本数据库架构图如下
从上图不难看出,库存扣减表和扣减

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
云服务器ECS本地快照的适用场景及使用限制
云栖号快速入门:【点击查看更多云产品快速入门】不知道怎么入门?这里分分钟解决新手入门等基础问题,可快速完成产品配置操作! 本地快照是云盘数据在某个时刻的完整拷贝,是重要的数据容灾手段。本地快照与云盘存储同一个存储集群中,支持快速备份和恢复,当数据丢失时,您可以通过快照将数据恢复到快照时间点。 适用场景 本地快照具有秒级别的备份速度,大幅缩短业务等待时间,主要适用于以下场景: 快速备份数据量较大的关键业务系统,例如数据库、容器、SAP HANA等。 高危操作提前备份,缩短等待时间。例如更换系统盘、扩容云盘、更新系统补丁等。 常见的DevOps场景,需要缩短ECS实例的启动时间。假设您希望复制一台ECS实例的环境,本地快照能缩短自定义镜像的制作时间,再通过复制镜像实现跨地域迁移实例数据。 本地快照和普通快照的区别 普通快照和本地快照的核心区别在于存储位置的不同,创建本地快照和回滚快照数据的速度比普通快照更快。其他区别请参见下表。 更多更详细的快照分类,请参见快照概述。 计费 本地快照公测期间免费使用。更多详情,请参见快照计费方式。 使用限制 如果ESSD云盘已被加密,则不支持创建本地快照。...
- 下一篇
如何加快您的Joomla网站速度
如果您使用了Joomla来构建自己的网站,一旦安装和配置完毕,您就会意识到它似乎运行缓慢。我们了解到,缓慢的加载时间不仅会使您感到沮丧。网站速度之所以重要,有多种原因。更快的网站将为您的客户和访客提供更好的体验,从而减少反弹。效果不佳可能会影响您网站的搜索排名。 在尝试确定Joomla构建网站时,需要考虑一些事项!网站运行缓慢。以下是提高网站速度的常用方法: 网站服务器虽然可以采取多种措施来提高网站的性能,但这种方法有其局限性。调整CMS仅有助于优化站点性能。低质量的主机以低廉的价格吸引了消费者,但是运行速度却令人难以接受。您只能通过在经过验证的可信任且非常有效的Web主机上进行研究来避免这种情况。 PHP 7PHP 7.3最容易识别的优势是您的Joomla!与旧的PHP版本相比,代码会更快。PHP 7.3版本比以前的版本更快。基准测试表明,与PHP 7.0相比,脚本处理速度提高了约22%,与PHP 7.2相比,提高了约7%。因此,请检查您的托管面板或咨询托管支持人员如何切换到新版本的PHP。确保您在实时站点上使用的所有插件,模块和组件都与PHP 7兼容。 更多内存空间您可能需要增加内...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程