专栏首页数商云贸大型网站架构系列:电商网站架构案例(3)
原创

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

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

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

大型网上电子商城系统需要存储海量的数据,为达到海量数据存储,高可用,高性能一般采用冗余的方式进行系统设计。一般独立商城网站建设有两种方式读写分离和分库分表。

读写分离:一般解决读比例远大于写比例的场景,可采用一主一备,一主多备或多主多备方式。

本案例在业务拆分的基础上,结合分库分表和读写分离。如图所示:

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

(2)如果单独的库太大,可以根据业务特性,进行再次分库,比如商品分类库,产品库;

(3)分库后,如果表中有数据量很大的,则进行分表,一般可以按照Id,时间等进行分表;(高级的用法是一致性Hash)

(4)在分库,分表的基础上,进行读写分离;

相关中间件可参考Cobar(阿里,目前已不在维护),TDDL(阿里),Atlas(奇虎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,有机会的话也可以分享给大家。

七、架构总结

以上是本次分享的架构总结,其中细节可参考前面分享的内容。其中还有很多可以优化和细化的地方,因为是案例分享,主要针对重要部分做了介绍,工作中需要大家根据具体的业务场景进行架构设计。

以上是电商网站架构案例的分享一共有三篇,从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型。除具备功能需求外,还具备一定的高性能,高可用,可伸缩,可扩展等非功能质量需求(架构目标)。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 工程行业管理平台解决方案丨提高企业经济效益,满足发展需求

    工程行业,包括工程勘察、设计、总承包、专项工程施工企业,以及为本工程提供零部件制造、物流、安装、维修和运行维护服务的相关企业。具体行业,包括建筑、市政、路桥、水...

    数商云
  • 什么叫大数据中台系统?大数据中台架构如何提升大数据网站系统管理能力

    大部分电商大数据平台系统企业在实践项目的时候,并不会把大部分主力资源将品牌能力沉淀成自身的产品和平台,例如很多可以实现共用的大数据服务没有实现真正意义上的服务化...

    数商云
  • 电商网站架构探索|SOA分布式架构详解

    目前很多的企业都有自己的电商网站,但随着业务量的增长,并发量高了。由于平台架构的一些不足,会导致一系列严重的问题,电子商务平台的安全性,承受能力也经受着严峻的考...

    数商云
  • 音视频技术基础(一)--音视频技术概念基础

    各位大佬好,我是一个刚入坑的小菜鸡,黑眼圈云豆。最近开始学习TRTC实时音视频技术,我会记录并分享我的一些学习心得和体会,欢迎各位大佬来一起交流指正。

    黑眼圈云豆
  • 一篇文章讲清楚直播全过程

    2020年的一场疫情,让大家不得不呆在家里,远程工作不可避免,远程拜年成为潮流,5G时代的一个极大的需求正在被提前激发,音视频领域的大锅正在卡下来,你接不接这个...

    马上就说
  • 高阶实战 | 如何用Python检测伪造的视频

    译者注:本文以一段自打24小时耳光的视频为例子,介绍了如何利用均值哈希算法来检查重复视频帧。以下是译文。 有人在网上上传了一段视频,他打了自己24个小时的耳光。...

    小小科
  • 【视频修复】百度--首个自动视频修复算法,在自动驾驶中获得清晰的街景和逼真的仿真!

    论文地址: https://arxiv.org/pdf/2007.08854.pdf

    CNNer
  • 机械臂的运动形式

    1.直角坐标型: 臂部由三个相互正交的移动副组成。带动腕部分别沿X、Y、Z三个坐标轴的方向作直线移动。结构简单,运动位置精度高。但所占空间较大,工作范围相对较...

    机器人网
  • RabbitMQ原理、集群、基本操作及常见故障处理

    本次学习主要针对运维人员,和对rabbitmq不熟悉的开发人员。通过本次学习你将掌握rabbitmq 的基本原理、集群、基本运维操作、常见故障处理。

    猿哥
  • 盘点 | 对比图像分类五大方法:KNN、SVM、BPNN、CNN和迁移学习

    选自Medium 机器之心编译 参与:蒋思源、黄小天、吴攀 图像分类是人工智能领域的基本研究主题之一,研究者也已经开发了大量用于图像分类的算法。近日,Shiyu...

    机器之心

扫码关注云+社区

领取腾讯云代金券