随商信息技术(上海)有限公司
扫描关注网站建设微信公众账号

扫一扫微信二维码

大型网站架构系列:电子商务网站架构案例(3)

随商电商平台系统2018-10-29 16:03:04电商资讯

本文是电子商务网站架构案例的第三部分,主要介绍了数据库集群,读写分离,子数据库子表,服务,消息队列的使用以及该电子商务案例的体系结构总结。

6.5数据库集群(读写分离,子数据库子表)

大型网站需要存储大量数据。为了实现海量数据存储,通常以冗余方式设计高可用性和高性能。通常有两种读取和写入分离和子分割的方法。

读写分离:一般情况下,可以解决读取比远大于写入比例的场景,可以采用一个主备和一个备用,一个主备用多备用或多个主备用多备用备用。

这种情况基于业务拆分,结合子库表和读写分离。如图所示:

(1)业务拆分后:每个子系统都需要一个单独的库;

(2)如果单个库太大,可以根据业务特点进行子库,如产品分类库,产品库;

(3)在子库之后,如果表中有大量数据,子表可以根据Id,时间等分为类别(高级用法是一致性Hash)

(4)在子库和子表的基础上,分开阅读和写作;

相关的中间件可以参考Cobar(阿里,目前不在维护),TDDL(阿里),阿特拉斯(Qihu 360),MyCat(基于Cobar,很多国内牛,被称为中国第一个开源项目)。

子数据库子表,JOIN,事务问题后的序列问题将在子库主题共享中引入。

6.6服务化

提取多个子系统共用的功能/模块并将其用作公共服务。例如,可以将此案例的成员子系统提取为公共服务。

6.7消息队列

消息队列可以解析子系统/模块耦合,以实现异步,高可用性,高性能系统。它是分布式系统的标准配置。在这种情况下,消息队列主要用于购物和分发。

(1)用户下订单后,将其写入消息队列并直接返回给客户端;

(2)库存子系统:读取消息队列信息并完成库存减少;

(3)分发子系统:读取消息队列信息进行分发;

当前使用的MQ包括Active MQ,Rabbit MQ,Zero MQ,MS MQ等,需要根据具体的业务场景进行选择。建议研究Rabbit MQ。

6.8其他架构(技术)

除了上面描述的业务拆分,应用程序集群,多级缓存,单点登录,数据库集群,服务和消息队列。还有CDN,反向代理,分布式文件系统,大数据处理和其他系统。

我不会在这里详细介绍它。您可以询问是否有机会与Google分享。如果有机会,您可以与所有人分享。

七,结构总结

以上是此共享的体系结构的摘要,其详细信息可在之前的共享中找到。仍有许多地方可以进行优化和改进。因为是案例共享,所以主要介绍重要的部分。在工作中,您需要根据特定的业务场景设计架构。

以上是共享电子商务网站架构的三篇文章。从电子商务网站的要求到独立架构,它逐渐演变为分布式架构的常用原型。除功能要求外,它还具有某些非功能性质量要求(体系结构目标),如高性能,高可用性,可伸缩性和可伸缩性。

文章关键词
电商网站开发
电商平台建设