- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
网站系统的架构设计
焦花花
摘要:一个网站系统在需求确定后,就可以开始架构设计了。架构设计不同于编写代码,需要遵循严格的语法和编程规范。它没有规范可遵循,存在即合理,适合网站系统开发和运行的架构就是最合理的系统架构。
关键词:网站;系统;架构;部署
对于一网站系统,根据数据量或者逻辑的复杂性会有不同的架构上的设计。也可以根据用户量的多少来对不同系统采取不同的设计。对于一个系统,根据用户的使用情况,可以分为几个常见的用户级别系统。分别是万级用户的系统、十万级的用户系统和百万级别的用户系统。这三种级别的用户量在系统的设计和应用的部署上会有不同的方式。接下来,我们分别介绍这三种级别系统在设计上和部署方式上的不同。
1一万用户量的系统
用户量不超过一万的系统应该是最简单的系统了,对于这种简单的系统应用程序的部署包、文件的存放、还有数据的安装都可以放在一台服务器上即可,不会影响系统的功能使用和性能。
在应用程序上,基本上使用一套java的SSM/SSH框架就可以完成相应的业务功能了。一些复杂的统计需要sql语句即可。然后在数据库连接池的配置上修改下参数。因为用户量使用的少,只要能实现需求的功能。用户量较少一般产生的数据也比较少。因此数据的存放和应用可以放在同一个服务器上。
2十万用户网站架构
用户使用量不超过十万的系统结构,用户量较多,一般会产生较多的数据。如果数据存放和应用公用一台服务器,随着数据量的增多,会占用服务器的更多的资源。因此需要将部署应用程序的服务器、存放文件的服务器、存放数据的服务器独立出来。
实现应用程序和数据的分离,不仅在逻辑上的分离,在物理上也实现了分离。
2.1服务器的合理选择
对于应用程序的服务器,主要用来处理业务逻辑,对硬件的要求是需要好点的cpu。对于存储文件的服务器,需要较大的硬盘,对于存放数据的数据库服务器,它的任务是做了大量的数据缓存和对磁盘进行检索,因此需要硬盘读写速度比较快的,另外需要大的内存。
2.2程序的设计与优化
在应用程序的设计上,主要对业务中的数据的批量处理和统计上的改进。Hibernate框架写的速度每分钟两千条,如果需要处理10w条数据,使用java语言,提交批处理的sql语句,每秒可以处理5万条数据。Oracle数据库每秒可以修改5w条数据的状态。简单的业务可以用批处理sql语句来解决问题,复杂的需要批量操作的业务,就无法通过简单的批处理的sql来解决。需要使用消息队列机制,它是解决批量数据、大数据的通用方案。MQ实现了批量数据处理与业务的分离,实现对程序的解耦。
Tomcat支持的线程数是200到300之间,十万级用户,如果每个用户一天请求50次,按照十小时算的话,每秒需要请求服务数是139次,如果峰值翻倍的话,也在tomcat的最大并发数承受范围内。因此应用服务器选用tomcat即可。
3百万用户网站架构
现实中绝大多数的系统的用户量是达不到百万级用户的,这种级别的系统业务是比较复杂的,使用分布式技术、缓存技术和负载均衡技术等。因此系统架构也比较复杂些。
3.1应用服务器的设计
负载均衡服务器统一管理着系统的入口和出口。百万级别用户的系统,负载均衡服务器选用nginx。它可以最高支持5万的并发数。虽然是百万级别的用户数,但在某一时刻的并发量可能就是几万。因此,一台nginx完全可以支撑百万级别用户的负载均衡。相比于apache和tomcat服务器,ngnix做负载服务器是较好的选择。
应用服务器上主要部署的是应用程序、本地的一些数据缓存、还有数据的访问模块功能。应用程序可选用tomcat即可,因为应用程序可做集群,保持与其他模块的耦合性。本地的缓存可以存储一些数据量不大的数据,但经常需要访问当的数据即可,像session这种,因为百万级别的用户量,虽然每一个的session占用空间不大,但是百万个seeeion就需要很大的空间,因此seesion建议存储在远程分布式缓存中,目前常用的远程分布式缓存有Redis和Memcached。Redis可以支持的数据结构更多些,而memchached只是支持key-value的结构。而且redis可以处理简单的业务逻辑,做消息队列代理等。因此远程缓存服务器选redis。
数据库访问的模块,因为数据量比较大,而且传统的关系型数据库对表数据是行级锁的,即读一张表或写一张表数据,会形成阻塞的。因此建议,数据库做主从备份,将数据的读和写分开。Spring框架和中间件都可以做对数据库的读写分离。
3.2文件服务器
常用的存储文件的有HDFS和FDHS,这两种在网上的资料都比较多,是比较成熟的存储系统了。关于文件系统的使用基本上都是一样的,用户将文件上传到应用服务器上,经过程序的处理,将文件存在文件系上,文件系统给应用服务器回一个存储的路径。应
您可能关注的文档
- 老人与海的优秀学生读后感8篇.doc
- 群塔防碰撞专项施工方案.docx
- 罕见年内3600只银行理财亏损.docx
- 网络文化对小学生影响的具体表现.docx
- 网络授课-零障碍中考-数学-第3课1.docx
- 网站共同运营合作协议范本精选.doc
- 缘事析理学习写得深刻新课标PPT课件优质课.ppt
- 2026届名校名师测评卷政治(三)(含答案).docx
- 福建省厦泉五校2025-2026学年高二上学期期中联考试题 生物含答案.docx
- 黑龙江省大庆铁人中学2025-2026学年高一上学期期中考试 政治含答案.docx
- 山东省聊城市2025-2026学年高二上学期期中教学质量检测思想政治试卷(含答案).pdf
- 2026届名校名师测评卷英语(三)(含答案).docx
- 黑龙江省大庆铁人中学2025-2026学年高一上学期期中考试语文含答案.docx
- 重庆市育才中学校2025-2026学年高三上学期12月月考历史.docx
- 福建省厦泉五校2025-2026学年高二上学期期中联考试题 政治 含答案.docx
- 山东省日照市2025-2026学年高一上学期期中校际联合考试英语试卷(含音频).pdf
- 山东省聊城市2025-2026学年高一上学期11月期中教学质量检测政治试题(解析版).docx
- 山东省聊城市2025-2026学年高一上学期11月期中英语试题(解析版).pdf
- 福建省厦泉五校2025-2026学年高二上学期期中联考试题 历史 PDF版含解析.docx
- 广东省惠州市实验中学2026届高三上学期12月阶段性检测地理试题(含答案).docx
最近下载
- 第08讲 绝对值三角不等式(5种题型)(原卷版)_1.docx VIP
- 山东师范大学影视文学研究期末考试复习题.docx
- 成品油管道工程项目社会稳定风险评估报告(中国市场经济研究院-工程咨询-甲级资质).pdf VIP
- 大九九乘法表(完美)-乘法表全图.docx VIP
- JGJ-T304-2013:住宅室内装饰装修工程质量验收规范.pdf VIP
- JJG 1124-2016 门座(桥架)起重机动态电子秤检定规程.docx VIP
- 古文观止注音详解卷四秦文修订稿.pdf VIP
- 九年级物理18章电功率集体备课教案.docx VIP
- 过程装备控制技术及应用-全套课件(PDF版).pdf VIP
- 2024马克思主义发展史第2版配套题库里面包含考研真题课后习题和章节题库总共170页.pdf VIP
原创力文档


文档评论(0)