随着唯品会业务的快速发展,订单量的不断增长,原有的订单存储架构已经不能满足公司的发展了,特别是在大促高峰期,原订单库已经成为抢购瓶颈,已经严重制约公司的发展。唯品会旧订单库包含几十张订单相关表,旧订单库是典型的一主多从架构;主库容量已接近服务器物理空间上限,同时也已经达到MySQ ...
随着唯品会业务的快速发展,订单量的不断增长,原有的订单存储架构已经不能满足公司的发展了,特别是在大促高峰期,原订单库已经成为抢购瓶颈,已经严重制约公司的发展。
唯品会旧订单库包含几十张订单相关表,旧订单库是典型的一主多从架构;主库容量已接近服务器物理空间上限,同时也已经达到MySQL的处理上限,很快将无法再处理新增订单。
旧订单库面临的问题有:
1、超大容量问题
2、性能问题
单一服务器处理能力是有限的,单一订单库的TPS也有上限,不管如何优化,总会有达到上限,这限制了单位时间的订单处理能力,这个问题在大促时更加明显,如果不重构,订单达到一定量以后,就无法再继续增长,严重影响到用户体验。
3、升级扩展问题
综上所述,容量、性能问题是急需解决的问题,扩展是为了将来3~5年内能够很好的满足唯品会快速发展的需要,而不需要每隔几个月花费人力物力去考虑扩容等问题。
解决方法思考
1、解决容量问题
我们可以考虑到最直接的方式是增加大容量硬盘,或者对IO有更高要求,还可以考虑增加SSD硬盘来解决容量的问题。此方法无法解决单表数据量问题。
可以对数据表历史数据进行归档,但也需要频繁进行归档操作,而且不能解决性能问题。
2、解决性能问题
提高数据库服务器的配置,这个可以提升一定数量的QPS和TPS,但仍然不能解决单服务器连接数、IO读写存在上限的问题,此方法仍然存在单点故障的问题。
拆分方法探讨
常见的数据库拆分方式有三种:垂直拆分、水平拆分、垂直水平拆分。
1、垂直拆分
垂直拆库是根据数据库里面的数据表的相关性进行拆分,比如:一个数据库里面既存在用户数据,又存在订单数据,那么垂直拆分可以把用户数据放到用户库、把订单数据放到订单库。如下图:
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:唯品会架构剖析
关键词:架构
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。