高并发订单系统架构设计(三)

#高并发下单主要包括以下几个方面:

  • 分库分表
  • 多应用实例全局唯一订单号
  • 数据库连接
  • 买家查询订单
  • 卖家查询订单
  • 扩容问题
  • 业务拆分

一、分库分表

随着订单量的增长,数据库的发展主要经历以下几个步骤:

  • 1主-1从架构
  • 双主-多从架构,读写分离
  • 表分区,提高并发
  • 分表,提高并发
  • Master更换SSD
  • 分库,分表,提高并发

###分库分表实现过程
订单分成16个库,每个库64个表进行存储,总共1024个表,mysql单表性能超过千万级别会导致性能严重下降,假设按千万计算,最高可以存储百亿级订单。随着存储问题的解决,但复杂度会随着增加:

首先是多库怎么保证生成的订单号全局唯一;
其次查询复杂度的增加;
买家查询订单时,应该去哪个库哪个表里查找,卖家应该去哪查;
再大的存储量,随着数据量的增长,终究是会遇到瓶颈,该怎么扩容。

##二、全局唯一订单号
这里采用Twitter snowflake方案,全剧唯一ID生成由:时间戳+机器ID+自增序列(+userid后两位);
订单的生成过程直接在应用实例中生成,直接在内存中计算,且计算过程分散到每台应用实例中,解决性能问题,userid后两位在后面解释。

##三、数据库连接问题
分库分表后,要

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值