网站架构基础学习(详细)

news/2024/5/10 8:37:48/文章来源:https://blog.csdn.net/qq_43309149/article/details/104477387

网站架构基础学习(详细)

1.网站架构的发展经历:

初始阶段的网站(特点:没人)应用程序,数据库,文件都在一个服务器中

比如我们学的是开发,我们要写一个网站,因为这是一个项目,

所以我们要把它部署一下,然后在淘宝买了一个域名,

然后部署到线上了(买了个服务器和租了个阿里云),

 

因为最初的网站没有人,

所以我们可以将应用程序apache和nginx,数据库,文件都在一个服务器上

就是我们熟知的lamp和lnmp    将所有东西部署在一台服务器上

Lamp  :linux apache mysql  php

Lnmp   : linux nginx mysql php

 

随着你网站的人增多,当有1000个人10000个人的时候,       (当访问的人多了)

一台服务器就抗不住了

 

应用服务和数据服务分离

随着网站业务的发展,一台服务器逐渐不能满足需求,性能越来越差,存储空间不足,

这就需要应用和数据分离

应用服务器

  处理大量业务

  需要更快更强的CPU

数据库服务器

需要快速的磁盘检索和数据缓存

需要更快的硬盘和更大的内存

文件服务器

需要大量用户上传文件

需要更大的硬盘

 

 

着三个本来在一块,但是为了满足实际需求,

我们需要将这三个应用分离在3个服务器上面,减轻服务器压力

再往上发展的时候我们还想进行优化

 

使用缓存改善网络性能

网站访问的特点和二八定律一样:

80%的业务访问集中在20%的数据上,所以如果把这一小部分数据缓存在内存中,

可以减少数据库的访问压力,提高整个网站的数据访问速度,改善数据库的写入性能

(内存不硬盘快很多)

  1. 网站使用的缓存可以分为两种:
  2. 缓存在应用服务器上的本地缓存
  3. 缓存在专门的分布缓存服务器上的远程缓存

 

本地缓存的访问快一些,

但受内存服务器的内存限制,缓存数据量有限

远程分布式缓存可以使用集群(多个)的方式(我们可以用很多台来进行缓存,一台8G内存,10台80G的内存),部署大内存的服务器作为专门的缓存服务器,

理论上做到不受内存容量的限制的缓存服务(钱没那么多)

 

缓存技术:

内容分发网络(CDN)  反向代理

本地缓存 分布式缓存

 

使用前提:

  1. 数据访问热点不均衡(如微博里的热点新闻和微博热搜,满足这两个条件)
  2. 是数据在某个时间段内有效

实际中我们可以本地缓存一些,再用使用远程分布式去缓存一些

使用应用服务器集群改善并发处理能力

使用缓存后,数据访问压力得到有效的缓解,

但是单一应用服务器能够处理的请求连接有限,

在网站高峰器,应用服务器成为整个网站的瓶颈,  

 

使用集群是网站解决高并发,海量数据问题的常用手段,通过负载均衡调度服务器,

可将 来自用户浏览器的访问请求分发到应用服务器集群中的任何一台服务器上,如果有更多用户,

就是集群中加入更多的应用 服务器(再服务员),使应用服务器的负载压力不再成为整个网站的瓶颈

 

刚才实际中我们可以本地缓存一些,

再使用远程分布式去缓存一些

减轻了数据库服务器的压力(可以从内存中很快的给用户)

 

我们只有接收用户的请求才知道用户要什么

#负载均衡:

在已经有应用服务器的基础上

 

 

应用服务器是4个(没有标出)(服务员),有本地缓存和远程分布式缓存

负载均衡调试服务器 : 相当于门迎,来一个用户的请求,

根据我的排班规则将用户请求,把用户分布到不同的应用服务器

 

数据库的读写分离:

网站在使用缓存后,使绝大部分数据操作访问都可以不通过数据库就能完成

但是仍有一部分操作(缓存访问不命中,缓过期)和全部的写操作(要改变硬盘)需要访问数据库

在网站的用户达到一定规模后数据因为负载压力过高而成为网站的瓶颈,

目前大部分的主流数据都提供从主热备功能通过配置两台服务器的主从关系,

可以将一台数据库服务器的数据更新到同步到另一台服务器上

网站利用数据库的这一功能,实现数据库的读写分离,从而改善数据库负载压力

 

一主多从,一台写的多台读的,从库可以复制主库的数据

 

使用反向代理和CDN加速:  解决速度问题

随着网络不断发展,用户规模越来越大,由于中国复杂的网络环境,不同地区的用户访问网站时,

速度差别也极大,为了提供更好的用户体验,留住用户,网站需要加速网站访问速度,主要手段有CDN的 反向代理

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

区别在于CDN部署再网络供应商的机房

反向代理则部署在网络的中心机房,

当用户请求到达中心机房后,

首先访问的服务器是CDN反向代理服务器,

如果反向代理中缓存这用户请求的资源,

就将其直接其返回给用户

 

如果我们要访问阿里的网络,阿里的中心机房在杭州,我们访问阿里网站来发送一个请求,

时的网络时阿里给我们共享出来的一个网关网络,和我们的网络不时同一个网络,我们把请求发到互联网上,

然后根据路由器的一跳一跳,找到杭州的服务器机房门口,杭州的访问快,西藏访问的慢

为了解决这个问题,就用到了CDN反向代理(原理是缓存),CDN是网络提供商的机房,就是电信和移动会构建CDN,

全国各地都能上网(电信移动这种基础运营商肯定是遍布全国各地),

所以我们可以把自己的数据放在电信移动铺设的这个网络平台里面,这样就快了

比如:

运营商会定期把用户可能经常访问的一些网站的logo,一些网站主页,交钱后把数据放在电信移动的机房中

 

我们用户通过CDN进来的时候,访问阿里百度端的中心机房的时候还是先访问的是CDN代理服务器

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

任何强大的单一服务器都满足不了大型网站持续增长的业务需求,数据库经过读写分离后,

一台服务器拆分成两台服务器,但是随着网站业务的发展依然不能满足需求,

这时需要使用分布式数据库,文件系统也是一样,需要使用分布式文件系统

分布式数据库是网站数据库最后的手段,只有在单表规模非常大的时候才用

不到不得已时才用,网站更常用的数据库拆分手段是业务分库,

将不同业务的数据库部署在不同的物理服务器上

 

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

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

相关文章

云服务器怎么显示网站数据库名称,云服务器怎么显示网站数据库

云服务器怎么显示网站数据库 内容精选换一换本章节指导您使用MongoDB客户端,通过弹性云服务器内网方式连接GaussDB(for Mongo)集群实例。操作系统使用场景:弹性云服务器的操作系统以Linux为例,客户端本地使用的计算机系统以Windows为例。目标…

给自己的网站带来和平:实现自动开启Cloudflare的5秒盾和验证码

引言 梦也不分明,远山云乱横。 ——勿埋我心 你的网站有没有被攻击过?这个脚本虽然不能抵御那些恐怖的“洪流”,但是抵挡一下“小打小闹”应该问题不大。   原理:通过检测系统负载(cpu或load)自动开启clo…

过滤器的使用实现网站访问计数器

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666) 一、创建过滤器需要使用javax.servlet.Filter接口,同时实现Filter接口的3个方法。 CountFilter: package com.home.web;import java.io.IOException…

Nginx配置SSL证书部署HTTPS网站(颁发证书)

自行颁发不受浏览器信任的SSL证书 手动颁发 xshell登录服务器,使用openssl生成RSA密钥及证书 # 生成一个RSA密钥 $ openssl genrsa -des3 -out tfjybj.key 1024# 拷贝一个不需要输入密码的密钥文件 $ openssl rsa -in dmsdbj.key -out tfjybj_nopass.key# 生成一…

实战学习NodeJS建站(5)—nodejs 访问 redis

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666) from:http://blog.csdn.net/qidong7/article/details/52888211 前提是你已经安装了nodejs环境。 node_redis是nodejs访问redis的客户端安装包&…

excel修改列名_利用Excel分析招聘网站数据分析师岗位

Excel是进行数据分析用得最多、最基本的工具,下面内容是运用Excel2013对一份数据分析师招聘网站的数据进行分析。Excel数据分析的步骤:1、提出问题(明确数据分析目的)2、理解数据(理解数据列名的意义)3、数…

图片变色_『设计|分享』设计师的色彩网站推荐(一)—渐变色

整理:设计与设计师(ID:Design-Designer)作者:设计与设计师转载请注明出处。配色对一项设计的重要性,这边就不多加赘述。在色彩设计应用中,我们对颜色不同程度的理解,将影响到产品&am…

php写伪静态,php网站动态网站的伪静态写法

PHP网站是主要是以动态网页展示,有时候为了方便优化,也可以设置伪静态来进行网站的优化。主要是通过下面的方式进行伪静态的书写:首先我们先查看Apache是否支持mod_rewrite功能,可以通过PHP提供的phpinfo()函数查看是否支持重写功…

ab压力测试_使用ab命令对网站进行压力测试

概述这是apache自带的一个网站压力测试工具,是ApacheBench的缩写,我们可以使用这个工具来对我们的网站进行压力测试安装在ubuntu上要安装下面这个包sudo apt-get install apache2-utils在centos下是下面这个包sudo yum install httpd-tools -y使用可以直…

虾米音乐java_抓取虾米音乐网站音乐,搜索虾米音乐功能的java实现

可以实现和点点网音乐分享功能暂时还没做界面,先留下代码package com;/*** 歌曲实体* author hanfei**/public class Song {private String title;private String songUrl;private String flashUrl;private String image;public String getTitle() {return title;}p…

百度二级网页打不开_网站降权都是什么原因 - 百度蜘蛛池博客

原出处:蜘蛛池博客原文链接:网站降权都是什么原因? - 蜘蛛池博客我们要学会找出网站降权的原因,才能知道如何对症下药,解决问题。那么,网站降权都是什么原因?接下来蜘蛛池博客小编就跟大家介绍几…

oracle表空间状态如何离线,read/write - Oracle表空间的状态_数据库技术_Linux公社-Linux系统门户网站...

表空间状态-READ ONLY、READ WRITE1. 只读表空间的主要用途就是为了消除对数据库大部分静态数据的备份和恢复的需要。Oracle不会更新只读表空间爱你的文件,因此这部分文件可以存储于只读介质中,例如CD-ROM或WORM drives。2. 只读表空间并不是为了满足归档…

计算机违反网络策略该怎么弄,网络策略设置禁止您使用该网站获取您计算机的更新程序。怎么办?...

进入微软windows update网站提示:网络策略设置禁止您使用该网站获取您计算机的更新程序。如果您确认此消息有误,请向您的系统管理员咨询。本人找到的是在 组策略(打开方法 运行->gpedit.msc)->计算机配置->管理模板->windows组件->window…

基于php网上购物商城用例图,动漫周边电商网站的设计与实现(PHP,MySQL)(含录像)...

动漫周边电商网站的设计与实现(PHP,MySQL)(含录像)(毕业论文10000字,程序代码,MySQL数据库)摘要本商品电商网站是为了方面用户在线购物而设计开发的商品电商网站,其开发过程主要包括前端应用程序的开发和后台数据库的建立和维护两个方面。本网站的开发可以在网上进行…

网站备案服务器ip怎么填写,域名备案网站ip地址如何填写

域名备案网站ip地址如何填写 内容精选换一换依据《非经营性互联网信息服务备案管理办法》第十四条、第二十三条规定,如备案信息不真实,将关闭网站并注销备案。若您的备案信息发生变更,请您提前三十日申请变更备案。对于已备案网站仅对应一个域…

ssm访问html乱码_Maven+JSP+SSM+Mysql实现的音乐网站

项目简介项目来源于:https://gitee.com/coder_ze/iMusic本系统基于MavenJSPSSMMysql实现的音乐网站。主要实现的功能有音乐播放、下载、上传等几个模块。难度等级:中等技术栈编辑器Eclipse Version: 2020-03 (4.15.0)前端技术基础:htmlcssJav…

最新30佳 HTML5 网站设计案例欣赏

在过去的几年,Web开发者们已开始关注和使用 HTML5 了,如今 HTML5 得到了更加广泛的应用,并将未来逐渐成为 Web 舞台的主角。今天,本文向大家推荐30个应用 HTML5 的网站案例,让大家感受一下 HTML5 的魅力。 1- Orange S…

国外精美网站设计欣赏的200佳网站推荐(系列十一)

您可能还喜欢 寻找网页设计灵感的27个最佳网站推荐最新30个漂亮的个人作品集网页设计案例分享35个非常漂亮的单页网站设计案例60佳灵感来自大自然的网页设计作品欣赏分享100佳精美的作品集网站设计案例这个系列将向大家分享汇集漂亮网站设计欣赏的200佳网站。网页设计师们可通过…

优异开发工具引荐:10款在线调试代码的网站

对于 Web 开发人员来说,有个疾速测验代码的当地是十分便利的。在这篇文章,咱们收集了8个十分有用的网站,协助 Web 开发人员在线调试代码,其间有些站点还可以在线共享和备用代码,这可以协助你十分便利的和其它的开发人员…

button hover逐渐变色_8种纯CSS实现的炫酷HOVER效果,你应该在网站中尝试使用

英文 | https://www.blog.duomly.com/html-button-hover-effects/作者 | Anna Danilec翻译 | web前端开发(ID:web_qdkf)按钮悬停效果简介按钮是每个页面,Web应用程序或移动应用程序中经常使用的基本元素。按钮是CSS布局中必不可少的元素,因为…