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

转载 2017年03月10日 13:52:01

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

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,有机会的话也可以分享给大家。

七、架构总结

 

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

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

关于负载均衡,业务拆分,集群架构,读写分离,分库分表,服务化,消息队列等常用技术和架构实现,本博客将会推出系列文章,进行介绍。欢迎小伙伴们围观。

大型网站架构交流(架构之家)QQ群一466097527(已满)群二464527023 (已满)群三612849302(可加);微信公众号:itfly8。以架构为核心的兴趣群,专注大型分布式网站架构,大数据,架构模式,设计模式。技术分享,经典电子书分享,欢迎加入!

视频电商网站实战 - 逐步完善代码结构、动态加载导航栏

上节课我们做了简单的项目代码结构,这节课我们首先实现导航栏的动态数据加载。同时也要完善我们的代码结构,建立良好的代码机制。 1.后端API准备 比如,请求一个地址,返回类似导航栏数据:[{"nav_...
  • github_26672553
  • github_26672553
  • 2017-01-17 14:40:34
  • 741

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

本文章是电商网站架构案例的第三篇,主要介绍数据库集群,读写分离,分库分表,服务化,消息队列的使用,以及本电商案例的架构总结。 6.5数据库集群(读写分离,分库分表) 大型网站需要存储海量的数据...
  • u013898698
  • u013898698
  • 2017-03-10 13:52:01
  • 83

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

来源:ITFLY8 网址:http://www.cnblogs.com/itfly8/p/5006197.html大型网站架构是一个系列文档,欢迎大家关注。本次分享主题:电商网站架构案例。从电商网站...
  • centre10
  • centre10
  • 2016-02-28 21:34:07
  • 5344

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

本文章是电商网站架构案例的第三篇,主要介绍数据库集群,读写分离,分库分表,服务化,消息队列的使用,以及本电商案例的架构总结。 6.5数据库集群(读写分离,分库分表) 大型网站需要存储海量的...
  • f8152
  • f8152
  • 2016-06-08 16:44:23
  • 386

大数据高并发实战<em>架构</em> 全套<em>视频</em>

大数据高并发实战<em>架构</em> 全套<em>视频</em>,设计mysql mongodb ,海量<em>网站</em>访问问题。... 大数据高并发实战<em>架构</em> 全套<em>视频</em>,设计mysql ...亿级流量<em>电商</em>详情页系统的大型高并发与高...
  • 2018年03月29日 00:00

JAVA架构视频资料,搭建大型高并发、高可用电商架构设计视频资料

主要是在网上搜集的一些资料,想一起学习的可以加群:124641573 下载地址都在群里面了。...
  • zhou9898
  • zhou9898
  • 2018-01-19 20:05:07
  • 156

大型网站技术架构(一)--大型网站架构演化

看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及session独立存储和缓存,因此书本看起来还是挺...
  • MINEZHANGHAO
  • MINEZHANGHAO
  • 2014-05-24 21:21:08
  • 11303

最新Dubbo的分布式<em>架构视频</em>教程

最新Dubbo的分布式<em>架构视频</em>教程最新Dubbo的分布式架构...传智播客-淘淘商城-张志君-Dubbo版-大型分布式<em>电商</em>...经营性<em>网站</em>备案信息 网络110报警服务 ...
  • 2018年04月08日 00:00

架构师之路--视频业务介绍,离线服务架构和各种集群原理

java架构师、集群、高可用、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Netty、Jvm大型分布式项目实战 视频课程内容包含...
  • judanbgtu0882
  • judanbgtu0882
  • 2017-07-31 12:48:29
  • 357

大型网站架构体系的演变(上)

互联网上有很多关于网站架构的各种分享,有些主要是从运维和基础架构的角度去分析的(堆机器,做集群),太关注技术细节实现,普通的开发人员基本看不太懂。 本文上篇将主要介绍大型网站基础架构的扩展,下篇则重点...
  • dinglang_2009
  • dinglang_2009
  • 2015-06-07 11:28:38
  • 13571
收藏助手
不良信息举报
您举报文章:大型网站架构系列:电商网站架构案例(3)
举报原因:
原因补充:

(最多只允许输入30个字)