linux企业实战---大型网站架构

news/2024/5/14 0:50:05/文章来源:https://blog.csdn.net/nigar_/article/details/104398218

linux企业实战—大型网站架构

文章目录

  • linux企业实战---大型网站架构
    • 1.网站架构演化发展
    • 2. 使用缓存服务器改善网站性能
    • 3. 使用应用服务器集群改善并发处理能力
    • 4. 数据库读写分离
    • 5. 使用反响代理和cdn加速网站响应
    • 6. 使用分布式文件系统和分布式数据库系统
    • 7. 使用NOSQL和搜索引擎
    • 8. 业务拆分
    • 9. 分布式服务

1.网站架构演化发展

初始阶段的网站(特点:没人)应用程序、数据库、文件都在一个服务器
在这里插入图片描述
应用数据和数据服务分离
随着网站业务的发展,一台服务器逐渐不能满足需求:性能越来越差,存储空间不足,这时就需要应用和数据分离。

  • 应用服务器:处理大量的业务,需要更快更强的CPU
  • 数据库服务器:需要快速磁盘检索和数据缓存;需要更快的磁盘和更大的内存
  • 文件服务器:需要更大的硬盘

在这里插入图片描述

2. 使用缓存服务器改善网站性能

网站访问的特点和二八定律一样:80%的业务访问及中在20%的数据上。所以如果把这一部分数据缓存在内存中,可以减少数据库的访问压力,提高整个网站的数据访问速度,改善数据库的写入性能。
网站使用的缓存可以分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布缓存服务器上的远程缓存。

  • 本地缓存的访问快一些,但受应用服务器内存限制,缓存数据量有限
  • 远程分布式缓存可以使用集群(n)的方式,步数大内存的服务器作为专门的缓存服务器,理论上做到部首内存容量的限制的缓存服务。
    在这里插入图片描述

缓存技术:

  • 内容分发网络(CDN)反向代理
  • 本地缓存 分布式缓存

使用前提:1. 数据访问热点不均匀 2. 是数据在某个时间段内有效,不会很快过期

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

使用缓存后,数据访问压力得到有效的环节,但是单一应用服务器能够处理的请求链接有限,在网站高峰期,应用服务器称为整个网站的瓶颈。
使用集群是网站解决高并发,海量数据问题的常用手段。通过负载均衡调度服务器。可将来自用户浏览器的访问请求分发到应用服务器中的任何一台服务器上。如果有更多用户,就是集群中加入更多的应用服务器,是应用服务器的负载压力不再成为整个网站的瓶颈。
在这里插入图片描述

4. 数据库读写分离

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

5. 使用反响代理和cdn加速网站响应

加速网站的访问速度,主要手段使用cdn的反向代理。
CDN的反向代理的基本原理都是缓存,区别在于cdn部署在网络提供商的机房;而反向代理部署在网站的中心机房,当用户请求到达中心机房后,首先访问的服务器是反向代理服务器,如果反向代理中缓存着用户请求的资源,就将其直接返回组用户。
在这里插入图片描述

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

任何强大的单一服务器都满足不了大型网站持续增长的业务需求。数据库经过读写分离后,从一台服务器拆分成两台服务器,但是随着网站业务的发展依然不能满足需求,着时需要使用分布式数据库,文件系统也一样,需要使用分布式文件系统。
分布式数据库是网站数据库拆分的最后手段,只有在单表规模非常大的时候才用。不到不得已时,网站更常用的数据库拆分手段时业务分库,将不同业务的数据库部署在不同的物理服务器上。

7. 使用NOSQL和搜索引擎

随着网站业务越来越复杂,对数据存储和检索的需求也越来越复杂,网站需要采用一些非关系数据库技术如nosql和非数据库查询技术如搜索引擎。
NOSQL的搜索引擎都是源自互联网的技术手段,对可伸缩的分布式特性具有更好的支持。应用服务器则通过一个统一的数据访问模块访问各种数据,减轻应用程序管理诸多数据源的麻烦。

8. 业务拆分

大型网站为了应对日益复杂的业务场景,通过使用分而治之的手段将整个网站业务分成不同的产品线,如大型购物网站就会将首页、商铺、订单、买家等拆分成不同的产品项,分归不同的业务团队负责。
具体技术上,也会根据产品线划分,将一个网站拆分成许多不同的应用,每个应用独立部署维护。应用只见可以通过一个超链接建立关系,也可以通过消息队列进行数据分发,当然最多还是通过访问同一个数据存储系统来构成一个关联的完整系统。
在这里插入图片描述

9. 分布式服务

随着业务拆分越来越小,存储系统越来越庞大,应用系统的整体复杂度呈指数级增加,部署维护越来越困难。由于所有应用要和所有数据库系统连接,在数万台服务器规模的网站中这些连接数目时服务器规模的平方,导致数据库连接资源不足,拒绝服务。
既然每一个应用都要执行许多相同的业务操作,比如用户管理、商品管理等,那么可以将这些共用的业务提取出来,独立部署。由这些可复用的业务连接数据库,通过分布式服务调用共用业务服务完成具体业务操作。
在这里插入图片描述

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

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

相关文章

吐血整理超实用的10个工具型网站

平时就喜欢收集一些实用又有趣的网站,下面这些都是个人私藏已久的网站,真的就是一旦知道就离不开了~ 1.免费思维导图软件:GitMind 传送门:https://gitmind.cn/ 工作中少不了要做脑图,这个网站就是一个完全免费的脑图…

13 某知名网站测试实战

文章目录 13-5 某知名网站测试实战11)大纲2)实战内容1.web 基础&1 什么是 web&2 系统架构***********面试问题1*********** &3 web 架构&4 网页&5 URL&6 HTTP&7 浏览器工作原理************面试问题2*********** &8 DNS…

网站用户体验量化方法

良好的用户体验不仅仅指是可用性,而是在可用性方面还有其他一些很重要的东西。比如: 有用性(useful):它表示设计的网站产品应当是有用的,而不应当局 限于上级的条条框框去设计一些对用户来说根本毫无用处的…

前端老司机 60多个实用工具网站分享(建议收藏!)

前言 好的工具,可以帮助我们大幅提高编程效率,今天给大家分享一下我平时收集到的一些工具,目录已经分好了。 JavaScript JavaScript教程 通俗易懂的 JavaScript 教程 - 网道 ES6入门教程 阮一峰,通俗易懂的 ES6 入门教程 JavaScript 30 使用原生JS30天完成30个项目 J…

网站域名 ip 源文件

1、域名解析 购买域名--进入后台--域名与空间商IP绑定 以万网为例: 2、空间商指向网站源文件 3、主机 虚拟主机 主机 域名解析完之后要告诉空间商域名让其指向网站源文件 虚拟主机域名解析完就可以打开 4、一个IP指向多个网站 网站访问顺序 IP--端口号--主机头…

手机端网站制作总结

1、访问地址: 公司网站 2、概括: 公司移动端网站制作主要借助的外部插件是jquery mobile[实际制作中用的并不多],与PC端采用同一个数据库,因为一个栏目无法同时绑定一个以上的模板,因此文章信息分属于不同的栏目&…

用ajax和jQuery从网站上获取图片做轮播图(动态添加标签)

实现细节: 1.jQuery中的ajax()方法通过HTTP请求加载远程数据,该方法是jQuery底层AJAX实现2.AJAX——核心XMLHttpRequest对象3.success请求之后调用,传入返回后的数据,以及包含成功代码的数据4.$.ajax({type:"GET",//请求…

Nginx的使用和作用(反向代理,负载均衡,静态网站部署,动静分离,虚拟主机)上篇

1.Nginx的简介: 1.nginx是一款轻量级的web服务器和反向代理服务器,也可以作为邮件代理服务器 2.占用内存少,并发处理能力强,cpu,内存等资源消耗非常低,运行非常稳定(Nginx官方测试为5万并发请求) 3.与Ngin…

【ASP.NET 问题】IIS发布网站后出现 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误的解决办法...

新装IIS,然后发布网站,运行出现如下错误提示 处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler” 于是去网上找资料,轻松搞定。o(∩_∩)o 哈哈 原因: vs2010默认的是4.0框架,4.0的…

python爬取网站小说并下载实例

目的: 实现在控制台输入小说的目录路径敲击回车,实现全本下载 分析: 1.目标网站的网页结构 2.网站的数据是否有用 需求分析: 1.目录路径: 2.章节路径 通过模拟浏览器进行两次请求: 1.第一次请求小说的目录…

小白如何花费几十元搭建一个属于自己的网站!

小白如何花费几十元搭建一个属于自己的网站! 摘要: 1.域名在腾讯云、阿里云等购买一个域名,学生只需十块左右;2.虚拟主机选择一个合适自己的虚拟主机,以腾讯云为例,基础版只要19.6rmb/月;3.网站备案备案步…

企业网站维护必知:网站压力测试

互联网的普及,宽带的流行,使得越来越多的个人和单位都架设了自己的网站。而充当网站的服务器的大多是普通的PC或者低档服务器,这样访问者人数一多或者遭受DDos攻击,很容易造成瘫痪。因此我们需要网站在真正发布前对其进行压力测试…

基于Vue框架的图书销售网站(HTML+CSS+JS)

功能描述 商品分类展示;商品详情商品搜索订单详情(购物车)登录与注册 注意:登录状态可以将书籍加入购物车,为登录状态只能浏览书籍。页面布局设计大体仿的【孔夫子旧书网】。 使用到的技术 项目创建;Vue指令应用:插值、数据绑…

前后端分离的音乐网站vue3+jsp+mysql

基本描述 前端: 使用vue.js前端技术框架,结合动态web开发技术,设计了一个前后端分离的音乐网站。项目主要包含登录注册页面,音乐分类展示页面、音乐选择列表,页面数据部分从网易云服务器端口获取,部分从汤…

投票排行榜网站(HTML+CSS+JS)

前端基础练习小项目 【已上传该项目完整资源至我的资源区&#xff0c;目前为0积分的免费资源】 初始页面 用户注册 上面为登录和注册的初始页面&#xff0c;登录注册为浮动窗口 以下是相关代码 <!DOCTYPE html> <!-- 初始页面 init.html--> <html lang"e…

打开浏览器默认打开hao123网站的主页怎么取消设置?

一般这种情况都是如果不是因为有病毒劫持&#xff0c;就是因为病毒软件的设置问题。 解决方式1&#xff1a; 先看杀毒软件&#xff0c;例如电脑管家和鲁大师的浏览器设置。 这里不做过多解释。 解决方式二&#xff1a; 一些用户的下载了安装包&#xff0c;会强制绑定一些流…

【新手教程】从零搭建php动态网站

PHP环境搭建 需要准备好三个软件&#xff1a;MySQL、PHPstudy、Dreamweaver 这里我用的版本是 mysql8.0.20、phpstudy_x64_8.1.0.5 和 Dreamweaver CC 2018 因为我按照老师给的文档做&#xff0c;先卸载了MySQL后安装的phpstudy&#xff0c;然后用phpstudy提供的mysql安装后…

制作一个餐饮网站的头部

样式如下&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html> <head><title>餐饮网站header部分</title><meta charset"UTF-8"><meta http-equiv"x-ua-compatible" content"IEedge"><me…

分享文档浏览网站 Docs4dev

作为一个程序员&#xff0c;每天最多打交道的肯定是代码&#xff0c;其次就是各种开源框架的文档了&#xff0c;但是各个框架的文档都有它们自己的风格&#xff0c;在国内某些网站的打开速度也是堪忧&#xff0c;最重要的是&#xff1a;大部分文档都不支持搜索&#xff0c;也不…

网站美化:网站底部右侧悬浮菜单,客服菜单,一键联系配置教程

以wordpress举例 操作步骤&#xff1a; 1&#xff0c;代码共分为两部分&#xff0c;一部分是css&#xff0c;css部分建议加到主题的style.css里面&#xff01; 另一部分是html代码&#xff0c;加到可以加到主题文件夹下footer.php里面&#xff0c;至于里面的位置放到前面&am…