【服务器架构】十张图带你了解大型网站架构

news/2024/5/17 9:55:23/文章来源:https://blog.csdn.net/baidu_39511645/article/details/78345573

  说道大型网站,就的先说大型网站的特点:高并发,大流量,高可用,海量数据等。下面就说说大型网站的架构演化过程吧。

1、初始阶段的网站架构

            初始阶段都比较简单,通常一台服务器就可以搞定一个网站了,看图。

应用程序、数据库、文件等所有资源都在一台服务器上,通常使用 Linux PHP MySQL Apache 就可以完成整个项目部署,然后再买个域名,租一个廉价的服务器就可以开始我们的网站之旅了

2、应用服务和数据服务分离

        随着网站业务的发展,一台服务器逐渐不能满足需求;这时候就需要将应用和数据分离,如图。


对于这三台服务器要求各不相同:

  • 应用服务器 要处理大量的业务逻辑,所以需要更好更快更强大的 CPU

  • 数据库服务器 需要快速的进行磁盘检索和数据缓存,因此需要更快的硬盘和更大的内存

  • 文件服务器 需要存储用户上传的文件资源,因此需要更大的硬盘存储空间

应用与数据分离后,各个的职责变得更加专一,网站的性能得到进一步的提升,但随着用户的继续增加,我们需要对网站架构进一步优化

3.使用缓存改善网站性能

        毫无疑问,现在的网站基本上都会使用缓存,即:80%的业务访问都会集中在20%的数据上。

网站的缓存可以分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布式缓存服务器上的远程缓存

  • 本地缓存 的访问速度会快一些,但是受应用服务器内存限制,缓存数据量很有限,而且会出现内存争用的情况

  • 远程分布式缓存 可以使用集群的方式,部署大内存的服务器作为专门的缓存服务器,可以在理论上做到不受内存容量限制的缓存服务


4、使用应用服务器集群改善网站的并发处理能力

         因为单一应用服务器能够处理的请求连接有限,在网站访问高峰时期,应用服务器会成为整个网站的瓶颈。因此使用负载均衡处理器势在必然。通过负载均衡调度服务器,可将来自浏览器的访问请求分发到应用的集群中的任何一台服务器上。

 

5、数据库读写分离

         在使用了缓存后,大多数的操作不经过数据库访问就能完成,但仍有一部分读操作(缓存访问未命中,缓存过期)和所有的写操作需要访问数据库,在网站的用户量达到一定时,数据库的负载问题就来了

当用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈。而目前主流的数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库的数据更新同步到另一台服务器上。网站利用数据库这一功能实现数据库读写分离,从而改善数据库负载压力。

 

 

应用服务器在写操作的时候,访问主数据库,主数据库通过主从复制机制把数据同步更新到从数据库,这样当应用服务器进行读操作的时候,就能访问从数据库获取数据

6、使用反向代理和CDN加上网站相应

       提高网站的访问速度,主要手段有使用CDN和反向代理。

      CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,而反向代理是部署在网站的中心机房,当用户请求到达中心机房后,首先访问的反向代理,如果反向代理缓存着用户请求的资源,则直接返回给用户。

7、使用分布式文件系统和分布式数据库系统

    任何强大的单一服务器都满足不了大型网站持续增长的业务需求。

     分布式数据库时网站数据库拆分的最后手段,只用在单表数据规模非常大的时候才使用。不到不得已时,网站更常用的数据库拆分手段是业务拆分,将不同业务的数据部署在不同的物理服务器上

 

8、使用NoSQL和搜索引擎

       搜素引擎也基本已经形成现在大型网站必须提供的功能了,网站需要采用一些非关系数据库技术如NoSQL和非数据库查询技术如搜索引擎。

 

9、业务拆分

对于大型网站,我们可以分而治之,把整个网站的业务分为不同的模块,比如大型的交易购物完整可以分为首页、店铺、订单、买家等,分别交给不同的业务团队来负责

同时我们将一个网站根据模块划分拆分成多个应用,每个应用进行单独的部署和维护,应用之间通过超链接建立关系(指向不同的应用地址),最后通过相同的数据存储系统来构成一个互相关联的完整系统

        

 

 

10、分布式服务

     随着业务拆分,整个系统越来越大,应用的整体复杂度呈指数级增加,部署维护越来越困难,并且所有的应用服务器都要与数据库服务连接, 在数万台服务器规模的情况下,这些连接的数目是服务器规模的平方,导致资源不足

这时候就要对相同的业务进行提取,独立部署,把这些可重用的业务和连接数据库等,提取出来作为公共业务服务,而应用系统只需要通过分布式服务访问公共业务服务完成业务操作

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

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

相关文章

【服务器架构】网站架构要素和高性能架构

为了使网站的能够应对高并发访问,海量数据处理,高可靠运行等一系列问题,我们可以选择横向或纵向两个方向来入手 基本思路 首先可以对整个架构进行分层,一般可以分为 应用层,服务层,数据层;实践中…

利用python并发模块进行网站的状态检测

python curl.py #!/usr/bin/python # -*- coding: utf-8 -*- import httplib #连接服务器 connhttplib.HTTPConnection(www.dnspod.cn) #发送HTTP请求 conn.request(GET,url) #得到结果 resultconn.getresponse() #获取HTTP请求结果值。200为成功 resu…

某个网站浏览器指纹提取算法

为什么80%的码农都做不了架构师?>>> function getFingerprint() {var b "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.104 Safari/537.36 Core/1.53.3408.400 QQBrowser/9.6.12028.400"…

网站被黑——bugku

刚刚做了bugku的题目,现在整理一下 写出解题思路,希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找, 希望你们不要责怪!!共勉!!&…

分享一些好用的网站

前言 这两年收藏了不少网站,特地整理一下,把一些大家都可能用得上的分享出来,希望能对你有用。 考虑到有一些网站大多数人都知道,所以我就不列出来了。 我把这些网站分为了几大类: 工具类素材类社区类工具类 1、start.…

JSON.parseObject 和 JSON.toJSONString 实例

JSON.parseObject,是将Json字符串转化为相应的对象;JSON.toJSONString则是将对象转化为Json字符串。在前后台的传输过程中,Json字符串是相当常用的,这里就不多介绍其功能了,直接举一下应用的小例子,帮助理解…

未备案或未接入,该网站暂时无法访问,网站未备案。

2019独角兽企业重金招聘Python工程师标准>>> 该网站暂时无法访问 尊敬的用户,您好 很抱歉,该网站暂时无法访问,可能由以下原因导致: 原因一:未备案或未接入;根据《非经营性互联网信息服务备案管…

背景图页面缩小会变形_湖南网站建设背景图这样使用,让你的网站瞬间提升好几个档次...

虽然湖南网站建设中背景图片的运用相对麻烦和困难,但是运用得好会对网站推广发展大有裨益。另外一方面因为背景图片往往会涉及到不同终端的兼容和显示问题,设计师可能要考虑到在不同平台、终端的效果呈现和程序匹配。那么湖南网站建设背景图使用需要注意…

学做网站用什么服务器,做网站需要学习什么

做网站需要学习什么?随着现在互联网发展的普及和完善,越来越多的人希望能通过互联网进行创业,但在互联网上创业就必须搭建自己的网站平台。那么我要创建一个网站,需要掌握和了解哪些基础要点呢?1、清楚2、常用建站工具…

tomcat网站测试linux,Tomcat6 Tomcat7对比测试

0摘要本文首先简述了Tomcat7的新特性和增强功能。然后对比tomcat6做了性能测试,测试结果表明,tomcat7的在性能上没有明显的提升,而主要贡献在于Servlet 3.0,内存检测泄露和增强的安全特性。1 Tomcat7的特性目前tomcat7已经发布到第…

Wordpress 插件出现漏洞,网站可能被攻击者接管

开发四年只会写业务代码,分布式高并发都不会还做程序员? 据安全研究人员警告,因旧版 Wordpress Simple Social Button 插件出现漏洞,使用这个插件的网站应该尽快更新软件,避免攻击者攻击并接管网站。Simple Social B…

10个国外免费下载电子书网站

1、FreeBookSpot FreeBookSpot是一个在线免费电子书下载网站。网站拥有96个类别,大约71.97 GB的免费电子书籍。用户可以搜索和分类下载免费书籍,如科学,工程,编程,小说和其他许多书籍。FreeBookSpot无需注册&#xff0…

云速建站配置https证书

2019独角兽企业重金招聘Python工程师标准>>> 1、购买证书,阿里云、华为云均有,自行购买下载即可。 2、购买服务器,用于配置证书,同时在服务器上安装web服务器,配置https 3、云速建站后台对证书的域名添加证…

如何让设置样式让网站文字无法复制

今天在解决一个网站的时候偶然遇到了网站文字无法复制。 到最后终于找出来原因。现在分享出来给你大家 原因一 我的文字无法复制的一个原因是 被包裹了 A 标签 a标签如下 这样的话,会给页面带上一个类似于遮罩的感觉,所以 果断的把 href 去掉这样就可…

网站开发快速入门教程-3

声明:本网站开发快速入门教程系列为刘兴(http://deepfuture.iteye.com/)整理,如果转载请注明转载来源 WEB服务器原理 您是否曾经对将此网页传送给您的机制感到好奇?假设此刻您正坐在计算机前在浏览器中查看这个网页。在您单击这个网页的链接…

在线生成彩字在线制作动态特效文字的2个网站

1Textanim - 是一个在线生成动态文字效果的站点,操作简单,输入想要生成的英文字母或单词,选择字体和彩字样式,就能可以轻松生成。提供了上百种的花纹可以选择使用。提供设置项包括:1.字体2.字体大小3.背景颜色4.自动大小5.影音位置6.动画延时…

设计人员一些常用的网站

亚洲ci网——http://www.asiaci.com/ (点击这里) 中国ci网—— http://www.cn-cis.com/ (点击这里) 中国包装设计网—— http://www.chndesign.net/ (点击这里) limon企业识别—— http://www.limon.com.cn/ (点击这里) 中国色彩—— http://www.cncolor.net/ (点击这里) logo吧…

OpenSource事业受挫,开源网站BerliOS因资金问题年底将关闭

BerliOS.de今天释出的新闻(https://developer.berlios.de/forum/forum.php?forum_id37450)我之前在这个网站上的资源全是开源的,代码由世界各地的爱好者编写(主要还是欧洲的),project的文档什么的都很详细…

scrip如何显示值到网页_在线免费用!这个网站帮你测试响应式网页效果

链接:https://www.uisdc.com/everysize#现在很多人是通过智能手机或平板电脑浏览网页,在网页设计上就要考量到如何让不同尺寸屏幕大小也能正常显示,以往会制作成电脑版和手机版两种格式,后来多半以响应式网页设计(Responsive web …

Next Door,基于“邻居”的社交网站

编者按:社交网站(SNS)是旨在帮助人们建立社会性网络的互联网应用服务,本文突出介绍了与Facebook等基于“朋友”关系的社交网站大相径庭基于“邻居”的一种社交网站。网友们众说纷纭,有的说“邻居关系特殊,应该鼓励线下交流”&…