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

news/2024/5/13 1:47:17/文章来源:https://blog.csdn.net/ahou2468/article/details/89555358

目录

1、初始阶段的网站架构

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

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

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

5、数据库读写分离

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

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

8、使用NoSQL和搜索引擎

9、业务拆分

10、分布式服务


 

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

1、初始阶段的网站架构

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

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

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

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

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

1.应用服务器 要处理大量的业务逻辑,所以需要更好更快更强大的 CPU2.数据库服务器 需要快速的进行磁盘检索和数据缓存,因此需要更快的硬盘和更大的内存3.文件服务器 需要存储用户上传的文件资源,因此需要更大的硬盘存储空间

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

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

毫无疑问,现在的网站基本上都会使用缓存,即:80%的业务访问都会集中在20%的数据上。
网站的缓存可以分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布式缓存服务器上的远程缓存

本地缓存 的访问速度会快一些,但是受应用服务器内存限制,缓存数据量很有限,而且会出现内存争用的情况远程分布式缓存 可以使用集群的方式,部署大内存的服务器作为专门的缓存服务器,可以在理论上做到不受内存容量限制的缓存服务

 

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

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

 

5、数据库读写分离

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

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

 

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

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

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

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

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

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

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

 

8、使用NoSQL和搜索引擎

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

 

 

9、业务拆分

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

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

 

 

10、分布式服务

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

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

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

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

相关文章

Ping计算机名和Ping网站域名都是由DNS解析吗?

背景 最近公司换了一台打印机,在终端上添加扫描的时候主机名输入计算机名报错“连接超时”,但是将主机名改为IP后就可以“正常连接”了。在处理这个问题的时候首先想到的就是DNS、wins等服务器IP没配置导致不能解析计算机名所致。 引言 通过给打印机配…

IE退役,建议使用IE的网站如何打开,Edge接力。

微软宣布将于美国当地时间6月15日(北京时间6月16日),停止对IE( Internet Explorer)浏览器的所有支持和更新,为这款服务用户超过27年的浏览器画上句号。未来,将由微软推出的Edge浏览器接棒。 尽管…

学习-安全类网站

SeEBug: https://www.seebug.org/ Sebug安全文档: http://old.sebug.net/paper/ OWAPS: http://www.owasp.org.cn/owasp-project 欢迎关注公众号:

大型网站架构:负载均衡(1)

面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比如(Go,Scala)等,当单机容量达到极限时,我们需要考虑业务拆分和分…

大型网站架构:负载均衡(2)

大型网站架构系列:负载均衡详解(2) 本文是负载均衡详解的第一篇文章,介绍负载均衡算法, 硬件负载均衡。部分内容摘自读书笔记。 三、负载均衡算法 常用的负载均衡算法有,轮询,随机&#xff0…

大型网站架构系列:负载均衡详解(3)

一、软件负载均衡概述 硬件负载均衡性能优越,功能全面,但是价格昂贵,一般适合初期或者土豪级公司长期使用。因此软件负载均衡在互联网领域大量使用。常用的软件负载均衡软件有Nginx,Lvs,HaProxy等。本文参考大量文档&a…

大型网站架构系列:负载均衡详解(4)

本文是负载均衡详解的第四篇,主要介绍了LVS的三种请求转发模式和八种负载均衡算法,以及Haproxy的特点和负载均衡算法。具体参考文章,详见最后的链接。 三、LVS负载均衡 LVS是一个开源的软件,由毕业于国防科技大学的章文嵩博士于19…

开发实用网站收藏

1,BootCDN https://www.bootcdn.cn/ 2,Can I Use https://caniuse.com/ 检查浏览器兼容性 3,代码压缩 https://tool.oschina.net/jscompress/ 4,url编码解码等 http://www.bejson.com/enc/urlencode/#6

大型网站架构之系列(1)——纵观历史演变(上)

我们知道一个网站都是随着业务的发展,逐渐演变成几万服务器,几亿用户数的大型网站,经历了若干年,甚至上十年的 发展成为大型网站,然而真正亲身经历这个发展过程的人已经不多了,这种人也是拿着公司股票&…

大型网站架构之系列(2)——纵观历史演变(下)

这篇文章本来准备前几天就得写的,谁也没想到这段时间公司的RC太多了,含酸苦逼的加班,加班。。。所以在大一点的公司上班, 写代码的责任心一定要强,或许就因为你的一些小bug,给公司带来不少损失。。。这在以…

大型网站架构之系列(3)——死了都要说的缓存

说到缓存,我想大家跟我一样都很兴奋,当我们遭遇网站性能瓶颈的时候,缓存是一剂强心针,也是一粒紧急妈富隆,从而在优化网站 性能方面冠上了第一定律的帽子,我们前年在做淘应用的时候,就遭遇了性…

大型网站架构之系列(4)——分布式中的异步通信

我们知道在面向对象编程中,总会想着各种办法来实现代码的解耦,从而让项目中的各种人员面对自己熟悉的业务进行开发, 做到术业有专攻,比如大家非常熟悉的三层架构,MVC,MVP以及MVVM模式,让前端设…

练习英文发音的网站

https://youglish.com/pronounce/nio/english?

java反序列化getshell,上海东方汇融多个网站存在Java反序列化漏洞致使多个网站Getshell涉及大量客户信息 | CN-SEC 中文网...

1.东方宝缴费系统#/u57fa/u7840/u914d/u7f6e:jdbc.driveroracle.jdbc.driver.OracleDriverjdbc.urljdbc:oracle:thin:192.168.10.12:1521:occpayjdbc.usernameportaljdbc.passwordportal-0982.企业控制平台jdbc.driverClassNameoracle.jdbc.driver.OracleDriverdbserverurljdbc…

php 支付宝验签失败,thinkphp网站支付宝异步回调验签失败问题

下面由thinkphp框架教程栏目给大家介绍thinkphp网站支付宝异步回调验签失败问题,希望对需要的朋友有所帮助!手头一个项目,用到了支付宝手机网站支付,项目用tp做的,下载支付宝SDK后修改后调起正常,同步接口也…

网站服务器 蜜罐,linux web服务器蜜罐系统

linux web服务器蜜罐系统 内容精选换一换Atlas 800 训练服务器(型号 9000)安装上架、服务器基础参数配置、安装操作系统等操作请参见《Atlas 800 训练服务器 用户指南 (型号9000, 风冷)》或《Atlas 800 训练服务器 用户指南 (型号9000, 液冷)》。Atlas 800 训练服务器(型号 900…

云服务优缺点_角点科技:建外贸网站用阿里云还是wordpress好?

建外贸网站用阿里云还是wordpress好?外贸网站更适合用wordpress,但是阿里云更加适合新手,因为新手用wordpress搭建网站还是蛮难的,接下来角点科技的小编就来大家分享一下阿里云和wordpress的优缺点,具体选择哪个还是可…

php study常见问题,使用phpStudy部署网站

Ⅰ、下载phpStudy工具安装文件,直接在百度里搜索查找就可以了,下载后安装Ⅱ、安装好后,一般会在D盘根目录下有个www文件夹(如果安装时修改了路径,找到对应路径下的www文件夹),把你整个项目文件夹放到www目录下&#xf…

html打开网页过场动画_辽源HTML网站制作优化

官方网站是v3cef6企业推广互联网的必要条件。企业官方网站要特别注意页面布局设计,毕竟页面效果会直接影响到客户的转化率。那么,如何做好公司的网站设计呢?您需要遵循五个设计原则:优化辽源HTML网站制作掌握公司的内容和声誉。但…