黄阶中级-《大型网站技术架构》- 概述 - 修改0次

news/2024/5/20 21:51:36/文章来源:https://blog.csdn.net/u013103846/article/details/52350023

1、大型网站架构演化

互联网站的发展仅仅经历了 20 多年的时间。

大型网站软件系统的特点:

  • 高并发、高流量。谷歌日均 PV 几十亿。 PV (访问量):即 Page View , 即页面浏览量或点击量,用户每次刷新即被计算一次
  • 高可用。百度被黑就会成为热点。
  • 海量数据 , Facebook 每周上传照片数目近 10 亿。
  • 用户分布广发、网络情况复杂。中美光缆,运营商互通。
  • 安全环境恶劣。斯诺登。
  • 需求快速变更,发布频繁。QQ
  • 渐进式发展。与传统软件不同,好的互联网产品都是慢慢运营出来的,不是一开始就开发好的,这也契合了网站架构的发展演化历程。

2、大型网站架构发展历程

1、初始阶段的网站架构

小型网站没有太多人访问,只需要一台服务器就绰绰有余。哈哈,应用程序、数据库、文件等所有资源放在一台服务器上,汇集各种开源软件及一台廉价服务器就可以开始创业了!!!

这里写图片描述

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

随着越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足。这是需要将应用和数据分离,使用三台服务器:
- 应用服务器。需要处理大量的业务逻辑,需要强大的 CPU 。
- 数据库服务器。需要快速磁盘检索和数据缓存,需要更快的硬盘和更大的内存。
- 文件服务器。需要存储大量用户上传的文件,需要更大的硬盘。

这里写图片描述

应用和数据分离后,网站的并发处理能力和数据存储空间得到了很大改善。

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

随着用户增多,数据库亚历山大导致访问延时,今儿影响整个网站的性能。
这里运用一个二八定律: 80% 的业务访问集中在 20% 的数据上。那么,如果把这一小部分数据换存在内存中,是不是可以减少数据库的压力。
网站使用的缓存分为两种:
- 应用服务器的本地缓存。本地缓存访问速度更快,但会出现和应用程序争用内存的情况。
- 专门的分布式服务器的远程缓存。可以使用集群的方式,可以在理论上做到不受内存容量限制的缓存服务。

这里写图片描述

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

对网站架构而言,实现可伸缩性不是使用更大的服务器,而是使用更多的服务器。那么也有了负载均衡的概念。

这里写图片描述

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

5、数据库读写分离

即使使用了缓存,仍有一部分读操作操作和全部的写操作需要访问数据库。当网站的用户达到一定规模后,数据库负载压力过高再次成为网站的瓶颈。

使用数据库的主从热备份功能,主数据库服务器实现写操作,从服务器实现读操作。

这里写图片描述

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

架构设计到这里博主觉得已经很好了。看一下后面有什么更好的优化。

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

由于网站访问速度不尽相同,而网站访问延迟和用户流失正相关。为了提供更好的用户体验,留住用户,网站需要加速网站访问速度。

  • CDN 。CDN 部署在网络提供商的机房,使用户在请求网站服务时,可以从距离自己最近的网站提供商机房获取数据。
  • 反向代理。部署在网站的中心机房,当用户请求到达中心机房后,首先访问的服务器是反向代理服务器,如果反向代理服务器中缓存着用户请求的资源,就将其直接返回给用户。

这里写图片描述

使用 CDN 和反向代理都是使用缓存技术,目的都是今早返回数据给用户。

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

好吧,数据库的问题又来了,伴随着更多的业务需求而来。这时需要使用分布式数据库和分布式文件系统。

这里写图片描述

8、使用 NoSQL 和搜索引擎

开始使用黑科技开挂了!随着网站业务越来越复杂,对数据存储和检索的需求也越来越复杂,网站需要采用一些非关系数据库技术如 NoSQL 和非数据库查询技术如搜索引擎。

这里写图片描述

9、业务拆分

至此,这套架构的能力已经很强了,但是也越来越难驾驭了,复杂的逻辑必须进行拆分,变成很多个迷你的。使用分而治之的思想,将整个网站业务分成不同的产品线,将一个网站拆分成不同的应用,每个应用独立部署维护。

关于不同应用之间的集成问题:可以通过一个超链接建立关系,也可以通过消息队列进行数据分发,最好的还是通过访问同一个数据存储系统来构成一个关联的完整系统。

这里写图片描述

10、分布式服务

这一块就有点看不懂了,多读了几遍。

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

这里写图片描述

3、大型网站架构演化的价值观

网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的,所以在网站还很小的时候就去追求网站的架构是舍本逐末,得不偿失的。

4、网站架构设计误区

  • 一味追求大公司的架构。
  • 为了技术而技术。网站技术是为业务存在的,初次毫无意义。
  • 认为技术可以解决一切问题。例如 12306 真正的问题不是它的技术架构,而是它的业务架构,不该设计成秒杀型的。

5、小结

正因为网站架构技术演化过程难以重现,所以网站架构师更应该对这个过程深刻了解,理解已成熟的网站架构技术方案的来龙去脉和历史渊源,在技术选型和架构决策时才能有的放矢,直击要害。

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

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

相关文章

GCP搭建网站后403解决

由于开发需要,在本地用虚拟机配置了LNMP环境,使用的是Centos 6.8的yum安装,安装一切正常,但是使用默认的网站配置目录,是在/usr/share/nginx/html这个目录下。简直是有点奇葩了。 于是乎,我先将默认的配置…

【iPhone】网络编程–一起来做网站客户端(一)

http://www.pan-apps.com/?p281 最近几天,一直在学习网络编程方面,我觉得这是移动开发必须了解的知识吧 在实践中学习,才是最好的方法 于是就决定为公司OA系统做一个iphone客户端,但是前提是这个系统没有提供任何API,所以只能悲剧…

编程要趁早 BI推荐8个编程学习网站

http://www.cocoachina.com/applenews/devnews/2013/0329/5914.html 最近一个热门话题是雅虎以3000万美元收购了移动阅读应用Summly,真正让人吃惊的不是3000万美元的价格值不值,而是Summly的开发者--只有17岁的尼克达洛伊西奥。他12岁开始学习编程&#…

自动为 Gatsby网站中的 Markdown 页面添加 sidebar

0 简介 我想在Gatsby网站上创建Markdown页面时自动添加侧边栏。 有一个 starter “ gatsby-gitbook-starter” 可以支持markdown文件的侧边栏,但仅支持1级。 我希望能够支持更多级别。 你可以通过下面的命令安装这个starter。 gatsby new gatsby-gitbook-starter…

如何在标题栏title前添加网站logo?

第一种方法&#xff1a;据说在网站根目录下放着我们的ico型logo&#xff0c;命名为favicon.ico&#xff0c;浏览器会自动去找到并显示。试了试&#xff0c;在firefox23和ie8下都没有成功。 第二种方法&#xff1a;添加代码&#xff0c;如下&#xff1a; 1 <link rel"sh…

阿里云域名解析完成后仍然无法通过域名正常访问网站

通过阿里云进行域名解析后&#xff0c;仍然无法正常访问网站的解释&#xff0c;与解决办法 1、域名解析完成后&#xff0c;未在主机管理页面进行域名绑定。 域名绑定流程&#xff1a; 进入阿里云虚拟主机页面&#xff0c;找到相应的虚拟主机&#xff0c;点击后面的管理。 点击…

web页面性能优化以及SEO

前言&#xff1a; 在同样的网络环境下&#xff0c;两个同样能满足你的需求的网站&#xff0c;一个“Duang”的一下就加载出来了&#xff0c;一个纠结了半天才出来&#xff0c;你会选择哪个&#xff1f;研究表明&#xff1a;用户最满意的打开网页时间是2-5秒&#xff0c;如果等…

wordpress建站优化技巧

wordpress是一款开源的PHP博客程序&#xff0c;可以有大量的开源主题与插件&#xff0c;使用液非常简单&#xff0c;wordpress在全球范围应用都十分广泛&#xff0c;根据Pingdom.com最近发布的一份数据&#xff0c;2013年在Technorati排名前100的博客&#xff08;Technorati为一…

个人网站添加百度统计

网站如何添加百度统计&#xff1f; 上线网站后&#xff0c;需要进行网站的维护和及时观察网站的流量等方面去了解自己的网站&#xff0c;百度统计工具可以查看多少访客访问了网站&#xff0c;以及分析流量来源等情况。那应该如何为网站添加百度统计工具呢&#xff1f; 1、注册…

[转]50个c/c++源代码网站

[转]50个c/c源代码网站 Posted on 2010-03-05 14:59 feisky 阅读(1182) 评论(2) 编辑 收藏 所属分类: C/C C/C是最主要的编程语言。这里列出了50名优秀网站和网页清单&#xff0c;这些网站提供c/c源代码 。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C…

32个不应该做的JOOMLA SEO优化手法

32个不应该做的JOOMLA SEO优化手法 隐藏元件的方式有很多&#xff0c;這也是最常被誤用的SEO手法&#xff0c;但也是Google抓最兇的部分&#xff0c;所以你要避免&#xff1a; 1. 在白背景上使用白色文字 2. 藏字在圖的下方 3. 利用CSS隐藏文字 4. 用小字來建立鏈接以及增加…

Win7部署asp.net网站问题---HTTP 错误 500.0 - Internal Server Error 调用 LoadLibraryEx 失败...

在IIS上部署网站时遇到这样一个问题&#xff1a;“ HTTP 错误 500.0 - Internal Server Error调用 LoadLibraryEx 失败&#xff0c;在 ISAPI 筛选器 "C:\Program Files (x86)\Sybase\PowerDynamo\win32\dyisa03.dll" 上”。 具体的问题展示如图&#xff1a; 通过网络…

高效在线抠图网站

介绍几款高效的抠图网站&#xff0c;给那些不想动手的。 1、怪兽抠图 链接: https://818ps.com/koutu/ 这是一个国内的站点&#xff0c;抠图后的图片不需要登录就能下载。 点击 上传图片 上传你需要抠图的素材。 用蓝色画出想保留的区域 用红色画出想要抠除的区域 - 简单…

VS2013 发布网站时文件丢失解决办法

网站发布时&#xff0c;发现一些模板文件没有复制到文件夹中解决办法&#xff1a;选择文件打开属性窗口找到生成操作&#xff0c;选项选择“内容”&#xff0c;然后重新发布 转载于:https://www.cnblogs.com/linyongqin/articles/6393166.html

常用网站链接

IEEE802标准下载 Browse Standards | Get Program | IEEE Xplorehttps://ieeexplore.ieee.org/browse/standards/get-program/page/series?id68

WordPress使用七牛CDN加速网站教程

七牛是一个著名的云加速公司&#xff0c;国内很多大网站都在使用&#xff0c;而且对新用户会有不少的免费额度&#xff0c;如果网站不是很大的话完全够用。 今天waitig就给大家介绍一下如何使用七牛来给WordPress加速。 注册 首先去七牛注册一个账号&#xff0c;可以直接点此注…

网站进行SEO优化时如何做好布局内链?

5月12日SEO经验 昨日和杭州西湖区某企业SEO总监谈我们在优化中如何让蜘蛛有效抓取,谈到中到底站内链接布局有多重要?想必每一个专业的网站优化人员都知道,网站的每一个页面就像一张蜘蛛网一样,良好的站内链接能很好的吸引蜘蛛抓取,而且网站内链做的好,在一定程度上是可以取代外…

网站进行SEO优化是什么样的什么样的网站页面才算是高质量的页面?

现在很多SEOer都在追求权重,但权重的获取往往离不开高质量的页面,很多人把目光重点放在了首页的页面,从而忽视内页的优化,也是比较不合理的,那么在搜索引擎的认识之中,什么样的页面才算是高质量的页面呢?下面开铭网络就给大家来分享分享个人的见解。 开铭网络认为,搜索引擎判…

新站建设之初如何规划seo?新站seo这些策略和方法很关键

俗话说&#xff0c;早起的鸟儿有虫吃&#xff0c;网站优化工作也一样。勤劳的人会得到比别人更多的好处。然而&#xff0c;许多事情不是靠勤奋来实现的。我们需要注意方法和策略。如果要进行网站优化&#xff0c;在网站上线初期就要有明确的优化思路和明确的目标。从网站建设的…

新站建设之初如何规划seo?新站seo这些策略和方法很关键

俗话说&#xff0c;早起的鸟儿有虫吃&#xff0c;网站优化工作也一样。勤劳的人会得到比别人更多的好处。然而&#xff0c;许多事情不是靠勤奋来实现的。我们需要注意方法和策略。如果要进行网站优化&#xff0c;在网站上线初期就要有明确的优化思路和明确的目标。从网站建设的…