初始阶段网站架构(一)

news/2024/5/10 2:11:18/文章来源:https://blog.csdn.net/weixin_30879833/article/details/97006876

(译)

1、初始阶段

大型网站都是从小型网站发展而来,网站架构也是一样,从小型网站逐步演变而来的。小型网站没有多少人访问,只需一台服务器就绰绰有余,

这个是网站架构如图:

单一服务器中:应用程序、数据库、文件所有的资源都放在一台服务器上。

服务器操作系统一般用 Linux, 应用程序使用php, 部署在apache 上,数据库使用mysql,汇集各种免费开源软件及一台廉价的服务器上,开始网站发展之路。

 

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

随着业务发展,一台服务器不能满足需求越来越多的用户访问导致性能越差,数据存储空间不足,这时需要将应用和数据分离。应用与数据分离后整个网站使用3台服务器:

应用服务器、文件服务器、数据服务器。这三台服务器对硬件要求不同

 

应用服务器:需要处理大量的业务逻辑需要更强大的CPU;

数据服务器:需要快速检索磁盘和数据缓存,需要更快的硬盘和更大的内存空间;

文件服务器:需要存储大量用户上传文件,需要更大的硬盘;

 

应用和数据分离后,不同特性的服务器承担不同的角色,网站的并发和存储能力和数据存储空间得到很大的改善,支持网站业务进一步发展。

随着用户逐渐增多, 数据库压力导致数据访问延迟,影响访问性能,用户体验受到影响,这时还需要对网站进一步优化。

 

 3、使用缓存

缓存方式有两种:缓存在应用服务器上的本地缓存和缓存专门分布式缓存服务器上的远程缓存。

本地缓存访问速度比较更快些,收到内存限制缓存数据有限。远程分布式缓存可以使用集群方式,部署大内存服务器作为专门的缓存服务器。

 

使用后,数据访问压力得到有效缓存,但单一应用服务器能够处理请求连接数是有限的,在高峰期,应用服务器会成为瓶颈

 

4、使用应用服务器集群

   使用集群是网站解决高并发,海量数据的常用手段。当一台服务器处理能力有限,存储空间不足时,不要企图换更强大的服务器。在业务需求不断增长,这种情况下

增加一台服务器分担原有服务器的访问及存储压力。

 

 

通过负载均衡调度服务器,可将来自浏览器访问的请求发放到应用服务器集群中任意台服务上,

如果用户多,可以加更多的应用服务器,使应用服务器的负载压力不在是瓶颈。

 

5、数据库读写分离

 使用缓存后,大部分数据可以不需要通过数据库就能完成,但仍有些数据需要通过数据库读写来完成,当访问量有一定规模后,数据库负载压力过高会出现瓶颈。

主流的数据库都会提供主从备热功能,配置服务器主从关系,可以将一台服务器数据同步到另一台服务器上,实现数据读写分离。

应用服务器在写入数据的时候,访问主服务器,主服务器通过主从复制机制将数据更新同步到从服务器,当应用服务器读取数据时候,可以通过从服务区获得数据。

为了便于应用程序访问读写分离数据库,通常在应用服务端使用专门的数据访问模块,使读写分离应用透明。

 

主从数据分离示意图:

6、使用反向代理和CDN加速网站响应

CDN和反向代理基本原理都是缓存,区别在于CDN部署在网络提供商机房,用户发送请求时,可以从最近的网络机房获取数据;而反向代理则部署在网站中心机房, 

当用户请求到达中心机房后,首先访问的服务器是反向代理服务器,如果反向代理服务器中缓存用户请求资源,直接将数据返回给用户。

 

目的加快访问及减轻服务器压力。

 

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

随着大型网站业务需求增长。数据库读写分离后,从一台服务器拆成两台服务器,业务增长依然不能满足需求,这时需要使用分布数据库。文件也是一样,使用分布式文件系统。

分布式数据库拆分是最后手段,将不用的业务数据拆分布同服务器上。

 

8、使用NoSQL 和搜索引擎

NoSQL搜索引擎对可伸缩的分布式特性有很好的支持,应用服务器通过一个统一的应用服务器模块访问各种数据,减轻应用程序管理诸多数据源麻烦。

9、业务拆分

业务复杂场景,网站业务分成不同的产品线。

 

10、分布式服务

 既然每一个应用系统都需要执行许多相同的业务操作,比如用户管理、商品管理等,那么可以将这些公用的业务提取出来,独立部署。由这些可复用的业务连接数据库,提供共用业务服务,而应用系统只需要管理用户界面,通过分布式服务调用共用业务服务完成具体业务操作。

转载于:https://www.cnblogs.com/congxueda/p/7269409.html

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

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

相关文章

什么是伪静态?网站伪静态有什么作用?

经常听说动态页面和静态页面,那么伪静态页面是什么呢?搞清楚这个概念前,我们先要了解一下什么是动态页面?什么是静态页面? 动态页面:用ASP、PHP、JSP、ASP.net、Perl、或CGI等编程语言制作,不是…

【精华】PHP网站验证码不显示的终结解决方案

PHP网站验证码不显示,这个是个很基础的PHP问题了,不过有点时候会比较让开发者比较头疼了。很多解决方案仅仅考虑到gd2,却忽略了另外一个很重要的因素了,相信在了解本教程之后,验证码不显示基本上就不算什么问题了。下面…

HTML作品——家乡旅游网站

文章目录[隐藏] 为通道旅游做贡献 为通道旅游做贡献纯静态页面HTML作品,当时开HTML课程,自己纯手工制作的。其实是个半成品,还有很多东西没介绍完,如果有喜欢旅游的朋友,欢迎与我联系,共同制作旅游网站顺便…

网站源码——爱的小窝

文章目录[隐藏] 一款记录情侣生活的,基于PHP的网站 一款记录情侣生活的,基于PHP的网站安装教程:上传到空间或者服务器进行安装默认账号密码:admin 123456管理员可添加男方与女方的账号密码管理页面:url/admin蓝奏网盘行…

舔狗日记随机展示网站源码

最近各种日记挺火的 什么 舔狗、保安、小偷。。。主要是在首页使用了js,首页添加了一个“再来一段”按钮,无需刷新即可实现显示新的内容。至于舔狗日记内容,存放在index.js文件里,可以自己收集添加。蓝奏网盘演示地址行云博客 - 免…

网站开发调试工具——HTTP Debugger Pro汉化版

文章目录[隐藏] HTTP Debugger Pro汉化版使用说明: HTTP Debugger Pro汉化版HTTP Debugger Pro 主要是用来测试调试复杂的网站应用程序,通过这款软件可以帮助用户实时跟踪显示浏览器和网站服务器之间的所有通讯信息,既是一个专业的网络抓包工…

网站缩略图生成源码

文章目录[隐藏] 网站缩略图一键生成源码 网站缩略图一键生成源码源码功能:输入网址,一键生成PC、iPad、iPhone、laptop端缩略图附件下载文件名称:网站缩略图生成源码 更新日期:2020-04-22 文件大小:127.1K 提示&#x…

网站克隆:setoolkit社工软件

本文转自行云博客https://www.xy586.top beef-xss 安装beef-xss&#xff1a;apt install beef-xss 安装完成之后运行beef-xss&#xff1a; 登录网址&#xff1a;http://192.168.232.138:3000/ui/authentication 将beef-xss生成的js代码&#xff0c;放入网站中 <script …

计算机网络及网站相关的基础知识

网站&#xff1a;又称website&#xff0c;是指在互联网上根据一定的规则&#xff0c;使用HTML、PHP等代码语言制作的用于展示制定内容的相关网页的集合&#xff0c;有可供管理人员操作的后台及用户使用的前台。website就是一种通讯工具&#xff0c;人们可以通过website来公布自…

HTTP应用:SEO搜索引擎劫持的简单介绍与HTTP方法的漏洞利用

SEO搜索引擎劫持 SEO即为搜索引擎优化。简单的说&#xff0c;就是让网站的排名更高。 黑帽SEO就是通过作弊手段欺骗搜索引擎&#xff0c;取得优化效果。 黑帽SEO的一种手段是先对较大的网站进行入侵&#xff0c;然后挂友情链接&#xff08;黑链&#xff09;&#xff0c;从而优化…

个人博客网站弃用Abp

序 国庆假期,地铁站过道都是人山人海&#xff0c;故决定放弃了去祖国的大好河山的路上添堵。宅在家里折腾pgsql和个人网站&#xff0c;让我决定个人网站后台弃用Abp这个被奉做神明的框架。 初探gensql工具 因为长期混迹于.net core群&#xff0c;群里面的叶生大神几近偏执地宣传…

LAMP网站架构

LAMP定义 基本定义 LAMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写 Linux&#xff0c;操作系统&#xff0c; Apache&#xff0c;网页服务器 MariaDB或MySQL&#xff0c;数据库管理系统(或者数据库服务器) PHP、 Perl或Python&#xff0c;脚本语言 …

宝塔搭建网站

安装宝塔面板 首先我们要进入虚拟机centos7&#xff0c;在命令行输入以下命令安装宝塔面板 yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 等待安装完成之后&#xff0c;命令行会显示面板的登录…

x-ray之第三篇-代理模式进行登陆后的网站扫描

使用xray代理模式进行漏洞扫描 代理模式下的基本架构为&#xff0c;扫描器作为中间人&#xff0c;首先原样转发流量&#xff0c;并返回服务器响应给浏览器等客户端&#xff0c;通讯两端都认为自己直接与对方对话&#xff0c;同时记录该流量&#xff0c;然后修改参数并重新发送…

网站篇笔记之22对恶意链接的处理

文章目录介绍如何处理如何预防页面利用方式隐藏的链接如何查找链接链接如何处置免责声明介绍 所谓的挂马&#xff0c;就是黑客通过包括&#xff1a;SQL注入&#xff0c;XSS跨站、恶意扫描、0day, 等各种方法获得网站管理员账号。 然后登陆网站后台&#xff0c;通过数据库“备份…

网站页面篡改及挂马的应急处置

文章目录排查思路常见技术手段直接篡改页面iframe框架篡改JS 文件篡改其他篡改处置过程事件描述处置过程简述摘抄排查思路 排查篡改的页面。排查是否有Webshell。排查是否存在操作系统级木马。排查网站存在的漏洞及黑客的攻击路径。进行综合分析及溯源。 常见技术手段 直接篡…

测试网站搭建+渗透+审计之第三篇Swagger接口渗透测试

文章目录 介绍基础使用漏洞利用0x01 Swagger敏感信息泄露的路径0x02 Authorize认证缺陷漏洞漏洞描述漏洞利用介绍 Swagger 是一款RESTful接口的文档在线自动生成加功能测试的软件。 目的是为了减少与其他团队的沟通成本,因此会使用Swagger构建RESTful API文档来描述所有的接口…

钓鱼网站实现

检查网络可用性 运行中间人 伪造网关 钓鱼

[Django] Window上通过IIS发布Django网站

网上的教程坑实在多&#xff0c;以下是本人亲测通过的&#xff1a; 需要解决的问题&#xff1a; 1.使用 python manage.py runserver 来运行服务器&#xff0c;只适用测试环境中使用&#xff0c;正式发布的服务&#xff0c;需要一个可以稳定而持续的服务器。 2.部署在Windows服…

《深入网站开发和运维》

《深入网站开发和运维》 基本信息 原书名&#xff1a;Pro website development and operations:Streamlining devOps for large-scale websites 原出版社&#xff1a; Apress 作者&#xff1a; (美)Matthew Sacks 译者&#xff1a; 曾少宁 丛书名&#xff1a; 图灵程序设计丛…