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

news/2024/5/8 2:08:44/文章来源:https://blog.csdn.net/zhangbijun1230/article/details/81414261

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

 

大型网站架构是一个系列文档,欢迎大家关注。本次分享主题:电商网站架构案例。从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型。除具备功能需求外,还具备一定的高性能,高可用,可伸缩,可扩展等非功能质量需求(架构目标)。

根据实际需要,进行改造,扩展,支持千万PV,是没问题的。

本次分享大纲

  1. 电商案例的原因
  2. 电商网站需求
  3. 网站初级架构
  4. 系统容量估算
  5. 网站架构分析
  6. 网站架构优化
  7. 架构总结
     

电商网站案例,一共有三篇本篇主要说明网站的需求,网站初始架构,系统容量估算方法。

一、电商案例的原因

分布式大型网站,目前看主要有几类

1.大型门户,比如网易,新浪等;

2.SNS网站,比如校内,开心网等;

3.电商网站:比如阿里巴巴,京东商城,国美在线,汽车之家等。大型门户一般是新闻类信息,可以使用CDN,静态化等方式优化,开心网等交互性比较多,可能会引入更多的NOSQL,分布式缓存,使用高性能的通信框架等。电商网站具备以上两类的特点,比如产品详情可以采用CDN,静态化,交互性高的需要采用NOSQL等技术。因此,我们采用电商网站作为案例,进行分析。

二、电商网站需求

客户需求:

  • 建立一个全品类的电子商务网站(B2C),用户可以在线购买商品,可以在线支付,也可以货到付款;
  • 用户购买时可以在线与客服沟通;
  • 用户收到商品后,可以给商品打分,评价;
  • 目前有成熟的进销存系统;需要与网站对接;
  • 希望能够支持3~5年,业务的发展;
  • 预计3~5年用户数达到1000万;
  • 定期举办双11,双12,三八男人节等活动;
  • 其他的功能参考京东或国美在线等网站。

客户就是客户,不会告诉你具体要什么,只会告诉你他想要什么,我们很多时候要引导,挖掘客户的需求。好在提供了明确的参考网站。因此,下一步要进行大量的分析,结合行业,以及参考网站,给客户提供方案。

其他的略~~~~~

需求功能矩阵

需求管理传统的做法,会使用用例图或模块图(需求列表)进行需求的描述。这样做常常忽视掉一个很重要的需求(非功能需求),因此推荐大家使用需求功能矩阵,进行需求描述。

本电商网站的需求矩阵如下:

 

网站需求

功能需求

非功能需求

全品类的电子商务网站

分类管理,商品管理

方便进行多品类管理(灵活性)

网站访问速度要快(高性能)

图片存储的要求(海量小图片)

用户可以在线购买商品

会员管理,购物车,结算功能

良好购物体验(可用性,性能)

在线支付或货到付款

多种在线支付方式

支付过程要安全,数据加密(安全性)

多种支付接口灵活切换(灵活性,扩展性)

可以在线与客服沟通

在线客服功能

可靠性:即时通讯

商品打分评价

商品评论

 

目前有成熟的进销存系统

对接进销存

属于约束条件

对接时要考虑数据一致性,鲁棒性

支持3~5年,业务的发展

 

属于约束条件

伸缩性,可扩展性

3~5年用户数达到1000万

 

约束条件

举办双11,双12,三八男人节等活动

活动管理,秒杀

突增访问流量(可伸缩)

实时性要求(高性能)

参考京东或国美在线

 

参考条件

 

 

 

 

以上是对电商网站需求的简单举例,目的是说明

(1)需求分析的时候,要全面,大型分布式系统重点考虑非功能需求;

(2)描述一个简单的电商需求场景,使大家对下一步的分析设计有个依据。

 

三、网站初级架构

一般网站,刚开始的做法,是三台服务器,一台部署应用,一台部署数据库,一台部署NFS文件系统。

这是前几年比较传统的做法,之前见到一个网站10万多会员,垂直服装设计门户,N多图片。使用了一台服务器部署了应用,数据库以及图片存储。出现了很多性能问题。

如下图:

 

但是,目前主流的网站架构已经发生了翻天覆地的变化。一般都会采用集群的方式,进行高可用设计。至少是下面这个样子。

 

(1)       使用集群对应用服务器进行冗余,实现高可用;(负载均衡设备可与应用一块部署)

使用数据库主备模式,实现数据备份和高可用;

四、系统容量预估

预估步骤:

(1)       注册用户数-日均UV量-每日的PV量-每天的并发量;

(2)       峰值预估:平常量的2~3倍;

(3)       根据并发量(并发,事务数),存储容量计算系统容量。

 

客户需求:3~5年用户数达到1000万注册用户;

 

每秒并发数预估:

(1)       每天的UV为200万(二八原则);

(2)       每日每天点击浏览30次;

(3)       PV量:200*30=6000万;

(4)       集中访问量:24*0.2=4.8小时会有6000万*0.8=4800万(二八原则);

(5)       每分并发量:4.8*60=288分钟,每分钟访问4800/288=16.7万(约等于);

(6)       每秒并发量:16.7万/60=2780(约等于);

(7)       假设:高峰期为平常值的三倍,则每秒的并发数可以达到8340次。

(8)       1毫秒=1.3次访问;

 

没好好学数学后悔了吧?!(不知道以上算是否有错误,呵呵~~)

 

服务器预估:(以tomcat服务器举例)

(1)       按一台web服务器,支持每秒300个并发计算。平常需要10台服务器(约等于);[tomcat默认配置是150]

(2)       高峰期:需要30台服务器;

 

容量预估:70/90原则

系统CPU一般维持在70%左右的水平,高峰期达到90%的水平,是不浪费资源,并比较稳定的。内存,IO类似。

 

以上预估仅供参考,因为服务器配置,业务逻辑复杂度等都有影响。在此CPU,硬盘,网络等不再进行评估。

 

原文地址

http://www.cnblogs.com/itfly8/p/5006197.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_710692.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

查看一个网站后台是用的什么服务器

本文出自 “腾飞工作室” 博客,请务必保留此出处 http://www.cnblogs.com/tfgzs/p/5763623.html 转载于:https://www.cnblogs.com/tfgzs/p/5763623.html

学习,工作,编程必看:130 个相见恨晚的神器网站

来源:https://blog.csdn.net/qq_43901693/article/details/100606828作者:爪白白搞学习知乎:www.zhihu.comTED(最优质的演讲):https://www.ted.com/谷粉学术: https://gfsoso.99lb.net/scholar.…

新建网站了!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现,可以在线阅读了!...

吴恩达机器学习、深度学习,李航老师《统计学习方法》,可以说是机器学习入门的宝典。本文推荐一个网站“机器学习初学者”,把以上资源的笔记、代码实现做成了网页版,可以在线阅读了。网址:http://www.ai-start.com黄博的…

php实现一个简单的购物网站

实现一个简单的购物网站 一、考试时间:8小时 二、开发工具:DW 三、数据库:见附件 四、需要实现的页面: Index:浏览商品页面,显示商品列表,用户可以点击“购买“。 ViewCart:查看购物…

嵌入式 IOT 汽车 航空 AI 领域从IP到片上系统SOC信息检索网站 DR

http://www.design-reuse.cn/ 从IP到片上系统以及物联网 450家供应商的16,000个IP核 200供应商的1000多个SoC解决方案 http://www.design-reuse.cn/ About Design and Reuse Design & Reuse (D&R) was founded in October, 1997 by Gabriele Saucier and Philippe…

大型网站高并发——服务器负载均衡设计

大型网站高并发——服务器负载均衡设计 方案一:直接路由方式(LVS-DR) 硬件配置:一台负载均衡器,两台或则三台TOMCAT服务器 WEB服务器配置:Linux tomcat WEB应用程序(JAVA) 工具 LVS技术介绍:它是通过修改数据包的目…

37个自学网站,一年让你省下十几万

37个自学网站,一年让你省下十几万 一.综合类 1、学堂在线 学堂在线运行了包括包括清华大学、北京大学、复旦大学、斯坦福大学、麻省理工学院、加州大学伯克利分校等国内外几十所顶尖高校的优质课程。 2、MOOC网 中国大学MOOC(慕课)是爱课程网携手云课堂打造的在线…

网站引入特殊字体

先获取这些字体文件 然后添加css /*引入字体(pt-din-condensed-cyrillic)*/ font-face {font-family: pt;src: url(../font/pt/pt-din-condensed-cyrillic.eot);src: url(../font/pt/pt-din-condensed-cyrillic.eot?#iefix) format(embedded-opentype),…

企业简约网站模板

这个模板使用许多场景,比如团队公益网站、公司网站等等,网站风格简洁大方,高端上档次,许多地方改一改就好了,不会改的私信我。 这是整个模板的文件,可以去我的资源下载—>>>企业网站通用模板 首…

有这几个编程利器网站,再也不愁学习

工欲善其事,必先利其器,有好的武器才能打更好的仗,今天给大家分享一些程序员学习必备的编程学习网站。像谷歌、知乎、B站、各大博客csdn、掘金、思否这些家喻户晓的网站这里就不再进行介绍啦,相信大家可能一直在使用。今天给大家介…

网站项目上线当晚,后端的同事被打了...

事情是这样的:今天我们公司的后端说他接口写完了,并分享了一个接口文档给我。用的就是 Swagger UI 自动生成的那种接口文档,就像这种:这种 Swagger UI文档我每次看着就头大,毛病多多查看多级模型时要一级级点开在接口数…

django不修改数据库创外键_【实战演练】Python+Django网站开发系列03-Django初始配置与静态Index页面开发...

#本文欢迎转载,转载请注明出处和作者。1、Django配置前面已经将开发环境准备好了,可以开始进行静态网页的开发。先介绍一下django的目录与文件结构,有几个文件需要重点掌握的:settings.py #用来配置django项目的基本信息的&#x…

大数据平台网站日志分析系统

1:大数据平台网站日志分析系统,项目技术架构图: 2:大数据平台网站日志分析系统,流程图解析,整体流程如下: ETL即hive查询的sql; 但是,由于本案例的前提是处理海量数据,因…

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

http://blog.csdn.net/chaofanwei/article/details/26865169 看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及…

大型网站技术架构(四)--网站的高性能架构(转)

http://blog.csdn.net/chaofanwei/article/details/27168603 网站性能是客观的指标,可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。 1、性能测试指标 1.1 响应时间 指应用执行一个操作需要的时间,指从发出请求到最后收到响应数据所需要…

小心错误使用EasyUI 让网站性能减半

先不谈需求,和系统架构,直接上来就被抛来了一个问题----基础性能太差了,一个网页打开要好几秒。我了个天,我听了也简直不敢相信,难道是数据量特别大?还是其中业务逻辑特别复杂? 简单的介绍下&am…

大型网站技术架构(五)--网站高可用架构(转)

网站的可用性(Avaliability)描述网站可有效访问的特性。 1、网站可用性的度量与考核 网站不可用时间(故障时间)故障修复时间点-故障发现(报告)时间点 网站年度不可用时间(1-网站不可用时间/年度…

大型网站技术架构(六)--网站的伸缩性架构(转)

网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的伸缩性设计可以分成两类,一类是根据功能进行物…

大型网站技术架构(七)--网站的可扩展性架构(转)

http://blog.csdn.net/chaofanwei/article/details/29191073 扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化,并在此基础上,降低模块间的耦合性,提供模块的复用性…

大型网站技术架构(八)--网站的安全架构(转)

从互联网诞生起,安全威胁就一直伴随着网站的发展,各种Web攻击和信息泄露也从未停止。常见的攻击手段有XSS攻击、SQL注入、CSRF、Session劫持等。 1、XSS攻击 XSS攻击即跨站点脚本攻击(Cross Site Script),指黑客通过篡…