大型网站服务器架构

news/2024/5/11 21:25:28/文章来源:https://blog.csdn.net/weixin_30480651/article/details/101834772

一、服务器集群改善并发问题

使用集群是网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去更换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求。这种情况下,更恰当的做法是增加一台服务器分担原有服务器的访问及存储压力。 对网站架构而言,只要能通过增加一台服务器的方式改善负载压力,就可以以同样的方式持续增加服务器不断改善系统性能,从而实现系统的可伸缩性。应用服务器实现集群是网站可伸缩架构设计中较为简单成熟的一种,如下图所示:

通过负载均衡调度服务器,可以将来自用户浏览器的访问请求分发到应用服务器集群中的任何一台服务器上,如果有更多用户,就在集群中加入更多的应用服务器,使应用服务器的压力不再成为整个网站的瓶颈。

 

 二、数据库读写分离

网站在使用缓存后,使对大部分数据读操作访问都可以不通过数据库就能完成,但是仍有一部分读操作(缓存访问不命中、缓存过期)和全部的写操作都需要访问数据库,在网站的用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈。 目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上。网站利用数据库的这一功能,实现数据库读写分离,从而改善数据库负载压力。如下图所示:

应用服务器在写数据的时候,访问主数据库,主数据库通过主从复制机制将数据更新同步到从数据库,这样当应用服务器读数据的时候,就可以通过从数据库获得数据。为了便于应用程序访问读写分离后的数据库,通常在应用服务器端使用专门的数据访问模块,使数据库读写分离对应用透明。

 

三、使用反向代理和CDN加速

随着网站业务不断发展,用户规模越来越大,由于中国复杂的网络环境,不同地区的用户访问网站时,速度差别也极大。有研究表明,网站访问延迟和用户流失率正相关,网站访问越慢,用户越容易失去耐心而离开。为了提供更好的用户体验,留住用户,网站需要加速网站访问速度。主要手段有使用 CDN 和反向代理。如下图所示:

CDN 和反向代理的基本原理都是缓存。

CDN 部署在网络提供商的机房,使用户在请求网站服务时,可以从距离自己最近的网络提供商机房获取数据

反向代理则部署在网站的中心机房,当用户请求到达中心机房后,首先访问的服务器是反向代理服务器,如果反向代理服务器中缓存着用户请求的资源,就将其直接返回给用户

使用 CDN 和反向代理的目的都是尽早返回数据给用户,一方面加快用户访问速度,另一方面也减轻后端服务器的负载压力。

 

四、分布式数据库

任何强大的单一服务器都满足不了大型网站持续增长的业务需求。数据库经过读写分离后,从一台服务器拆分成两台服务器,但是随着网站业务的发展依然不能满足需求,这时需要使用分布式数据库。文件系统也一样,需要使用分布式文件系统。如下图所示:

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

 

五、使用NoSql和搜索引擎服务器

随着网站业务越来越复杂,对数据存储和检索的需求也越来越复杂,网站需要采用一些非关系数据库技术如 NoSQL 和非数据库查询技术如搜索引擎。如下图所示:

NoSQL 和搜索引擎都是源自互联网的技术手段,对可伸缩的分布式特性具有更好的支持。应用服务器则通过一个统一数据访问模块访问各种数据,减轻应用程序管理诸多数据源的麻烦。

 

转载于:https://www.cnblogs.com/yang-2018/p/11438725.html

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

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

相关文章

修改 设置 vs.net 网站 调试 设为 起始页

很简单,右键网站项目,打开【属性(R)】,找到【web】选项卡,然后会看到右边有一个【启动操作】,设置为当前页即可。 见百度问题: http://zhidao.baidu.com/question/195134372.html?an0&si1 …

HTML的购买按钮添加,将shopify购买按钮添加到流星js网站

不知道最好的方法来连接流星js网站使用购买按钮购物。 要initializie的Shopify API - http://shopify.github.io/js-buy-sdk/ - 直接,我导入使用将shopify购买按钮添加到流星js网站meteor npm install --save shopify-buymeteor npm install --save shopify-promise…

Web网站服务(Apache)

1Apache的主要特点 1)开放源代码:这是Apache服务器的重要特性之一,也是其他特性的基础。Apache服务程序由全世界的众多开放者共同维护,并且任何人都可以自由使用,这充分体现了开源软件的精神。2) 跨平台应用…

-HTMLCSS-——模拟小企业网站主页导航栏

2019独角兽企业重金招聘Python工程师标准>>> 做出来的作业效果图(右键图片选择“在新的窗口打开图片”来查看): 素材图片: ,,,, 完成的代码: static.html为&a…

网站的静态页面生成方案 .

提升网站性能的方式有很多,例如有效的使用缓存,生成静态页面等等。今天要说的就是生成静态页面的方式。这个也是我近期一直在搞的一个问题,近期在做使用html servlet做个人网站,为什么是这2个东西呢?1、直接用servlet是为了保证网站能以最快…

给你的网站加上站内搜索---Compass入门教程

给你的网站加上站内搜索---Compass入门教程 syxChina(syxchina.cnblogs.com) Compass(基于Lucene)入门教程 1 序言 2 Compass介绍 3 单独使用Compass 4 springhibernate继承compass 4-1 jar包 4-2 配置文件 4-3 源代码 4-4 说明 4-5 测试 5 总结下吧 1 序言 这些天一直在学点新…

SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎

前两天看到了一个中国新闻网,这个网站的搜索form的action是http://search.chinanews.com/search.do 便知道是struts1的产物,现在都用struts2了,所以给自己的任务是实现Struts2 SSH分页浏览新闻、Lucene分页高亮排序搜索新闻这个两个功能。 ID…

WordPress速度 - 如何使您的WordPress网站加载速度快

WordPress速度 - 如何使您的WordPress网站加载速度快 快速加载网站对于获取和保持稳定的流量非常重要。因此,对于想要发展WP网站,增加流量和增加收入的每个人来说,WordPress的速度都是一个问题。 但是,有几个因素可能会降低WP网站…

h5打开app跳不到指定页面 uni_初学uni-app,把网站变APP

快速入门uni-app,把想看的网站变APP。下载hbuildx,这里官方提供了几种安装包,有完全版,还有beta版,还有标准版,随便下一个吧,或者直接下载标准版的,因为它最小。1.创建uni-app&#…

利用URLOS搭建自己的CDN网站加速节点真是其乐无穷

CDN可以帮助我们提交网站静态内容的访问速度,而且可以针对不同线路进行分配优化,用最适合的网络线路访问我们的网站内容。比如源站地址在东莞,机房线路是电信,远在山西太原的用户网络环境是联通的,访问源站时速度非常慢…

如何找到一个网站(链接域名)的ip地址

用ping查看域名ip地址1. winR打开cmd2. 输入ping空格域名

大数据hadoop之大型互联网电商公司网站日志分析

2019独角兽企业重金招聘Python工程师标准>>> 博主今天分享大型项目的分析demo,下面是假设某个公司的网站项目想要得到活动日、节假日的网站流量分析。此类需求使用hadoop离线平台来分析性价比百分百完美。下面博主直接上教程。。。 操作步骤:…

Java实现广告屏播放切换_使用javascript实现某网站的头部广告向上切换效果

学了javascript后,看到某网站的一个头部广告效果很不错,感觉自己也能做出来,于是经过我一下午的奋斗,哈哈,我成功了,虽然实现可能很麻烦,但没法,如果你理解我的程序,如果…

在线人数实时显示php_PHP+jquery实时显示网站在线人数的方法_PHP教程

本文实例讲述了PHPjquery实时显示网站在线人数的方法。分享给大家供大家参考。具体分析如下:在线人数最简单的就是直接利用js调用php,这样可以显示出有多少人访问了本站,如果要在用户未刷新页面的状态实时显示用户在线人数,我们可…

linux的帮助,帮助信息_Linux公社 - Linux系统门户网站

除Linux公社(LinuxIDC.com)注明之服务条款外,其它因使用Linux公社(LinuxIDC.com)及旗下网站服务而引致之任何意外、疏忽、合约毁坏、诽谤、版权或知识产权侵犯及其所造成的各种损失(包括因下载而感染电脑病毒),Linux公社(LinuxIDC.com)概不负责&#xff…

gitbook生成html静态页面,gitbook输出为静态网站

你有两种方式输出一个静态网站:本地预览时自动生成当你在自己的电脑上编辑好图书之后,你可以使用Gitbook的命令行进行本地预览:E:\gitbook\gitbook-studying>gitbook serve ./图书目录这里会启动一个端口为4000用于预览的服务器&#xff1…

网站数据过多卡顿怎么优化_怎么做网站SEO?如何做网站SEO优化?正确的网站SEO优化怎么做?...

怎么做网站SEO?不同的seo从业者有自己的seo方法和程序,也有自己的观点。在靖歌阁看来,他们认为效率是结果的终维度,其他一切都是空谈。在给定的时间内,有多少关键词被排名,有多少在第一页,有多少大的索引词…

网站php上传服务器地址,thinkphp上传服务器地址

thinkphp上传服务器地址 内容精选换一换下载地址: https://github.com/bcgsc/abyss/archive/2.2.4.tar.gz。下载地址: http://downloads.sourceforge.net/project/boost/boost/1.56.0/boost_1_56_0.tar.bz2。下载地址:https://www.bcgsc.ca为了实现通过NAT Server可…

h5页面怎么处理文件流_网站聚合页面是什么、好处及怎么做?重复页怎么处理?...

竞价QQ交流群:482183592信息流QQ交流群:340191802整合营销交流群:543613831聚合页面,很多新人不太懂,所以这篇就来带大家了解一下。1、聚合页面是什么?有哪些形式?2、聚合页面对SEO优化有什么利…

xp服务器下建立web站点,windowsxp系统下配置Web IIS7.0网站的方法

最近,一位windowsxp系统用户反馈自己非常希望能够在电脑中配置Web IIS7.0网站,可是操作了很久都没有成功。这该怎么办呢?接下来,系统城小编就带大家看看配置Web IIS7.0网站的具体方法,希望对大家有帮助!具体…