《大型网站技术架构:核心原理与案例分析》笔记00

等不到天亮等时光。 等不到天亮等时光。     2022-08-22     258

关键词:

《大网站技术架构:核心原理与案例分析》笔记00

大型网站需要解决的问题:

1.高并发,大流量
2.高可用
3.海量数据
4.用户分布广泛,网络情况复杂
5.安全环境恶劣
6.需求快速变更,发布频繁
7.渐进式发展:好的互联网产品都是慢慢运营出来的,不是一开始就开发好的,同于网站架构的发展过程

大型网站架构发展历程:

1.初始阶段:应用程序 文件 数据库等所有资源在同一台服务器上

出现问题:越来越多的用户访问导致性能越来越差,越来越多数据源导致存储空间不足。
2.应用服务于数据服务相分离:应用服务器(大量业务逻辑,需要强大CPU) 文件服务器(大量用户上传文件,大硬盘) 数据库服务器(快速磁盘检索和数据缓存,更快的硬盘和更大内存)

出现问题:用户再次增多,数据库压力太大导致访问延迟,影响整个网站性能,用户体验受到影响。
3.使用缓存改善网站性能:80/20法则 80%的业务集中在20%的数据上 把这20%的数据缓存在内存中----分布式缓存服务器(快而大的硬盘,远程分布式缓存)

出现问题:单一服务器能处理的请求连接有限,在网站访问高峰期,应用服务器成为整个网站的瓶颈。
4.使用应用服务器集群改善网站的并发处理能力:增加应用服务器改善负载压力(负载均衡)

出现问题:网站使用缓存后,绝大部分数据读操作可以不通过数据库完成,但有一部分操作(缓存访问不命中,缓存过期)和全部写操作需要访问数据库,在网站的用户达到一定规模,数据库因为负载压力过高成为网站的瓶颈。
5.数据库读写分离:配置两台数据库主从关系,可以将一台数据库服务器的数据更新同步到另一服务器上(服务器的主从热备功能)。
介绍:应用服务器写数据的时候,访问主数据库,主数据库通过主从复制机制将数据更新同步到从数据库,这样当应用服务器读数据的时候,就可以通过从数据库获得数据。为了便于应用程序访问读写分离后的数据库,通常在应用服务器端使用专门的数据访问模块,使数据库读写分离对应用透明。

出现问题:网站访问延迟和用户流失率正相关。
6.使用反向代理和CDN加速网站响应:CDN和反向代理的基本原理都是缓存。区别在于CDN部署在网络提供商的机房,使用户在请求网站服务时,从距离自己最近的网络提供商机房获取数据;反向代理部署在网站的中心机房,当用户请求到达中心机房后,首先访问的是反向代理服务器,如果反向代理服务器缓存着用户请求的资源,就将其直接返回给用户。

出现问题:任何强大的单一服务器满足不了大型网站持续增长的业务需求。
7.使用分布式文件系统和分布式数据库系统:分布式数据库时网站数据库拆分的最后手段,只有在单表数据规模十分庞大的时候才使用。不到不得已时,网站更常用的数据库拆分手段是业务分库,将不同业务的数据库部署在不同的物理服务器上。

出现问题:网站的业务越来越复杂,对数据存储和检索的需求越来越复杂
8.使用NoSQL和搜索引擎:均为互联网的技术手段,对可伸缩的分布特性具有更好的支持。应用服务器则通过一个统一的数据访问模块访问各种数据,减轻应用程序管理诸多数据源的麻烦。

9.业务拆分:如大型购物交易网站将首页、商铺、订单、买家、卖家等拆分成不同的产品线,分归不同的业务团队负责。

10.分布式服务:提取共用业务,独立部署。

《大型网站技术架构:核心原理与案例分析》笔记03

《大型网站技术架构:核心原理与案例分析》笔记011.大型网站核心架构要素。  架构:“最高层次的规划,难以改变的决定。”从这个角度而言,人生规划也是一种架构。选什么学校、学什么专业、进什么公司、找什么对象... 查看详情

《大型网站技术架构核心原理与案例分析》阅读笔记-01

...够更加清楚的树立大型网站的的技术发展历程,剖析大型网站技术架构模式,深入的讲述大型互联网架构核心原理,并通过一些典型的技术案例来讲述大型网站开发全景视图,该书籍深入的阐述了各种大型网站面临的各种架构问... 查看详情

《大型网站技术架构:核心原理与案例分析》笔记

目录· 大型网站软件系统的特点· 大型网站架构演化发展历程    · 初始阶段的网站架构        · 需求/解决问题        · 架构&n 查看详情

大型网站技术架构:核心原理与案例分析阅读笔记二

大型网站技术架构:核心原理与案例分析阅读笔记二网站架构设计时可能会存在误区,其实不必一味追随大公司的解决方案,也不必为了技术而技术,要根据本公司的实际情况,制定适合本公司发展的网站架构设计,否则会变得... 查看详情

大型网站技术架构:核心原理与案例分析阅读笔记三

大型网站核心架构要素之性能    在讲架构要素之前,我们首先要了解什么是架构,简单来说,架构就是“最高层次的规划,难以改变的决定”,架构决定了未来的方向和最终的成果。而对于软件架构来说,则是“... 查看详情

《大型网站技术架构:核心原理与案例分析》笔记06

《大型网站技术架构:核心原理与案例分析》笔记06 架构师领导艺术1.关注人而不是产品。  一定要坚信:一群优秀的人做意见他们热爱的事,一定能取得成功。不管过程多么曲折,不管外人看来多么不可思议不靠谱。所... 查看详情

《大型网站技术架构:核心原理与案例分析》--读书笔记:大型网站核心架构要素--性能

1.性能   在浏览器端,可能通过浏览器缓存、使用页面压缩、合理布局页面、减少cookie传输等手段改善性能。还可以使用CDN,将网站静态内容分发至离用户最近的网络服务商机房。可以在网站机房部署反向代理服务器... 查看详情

大型网站技术架构:核心原理与案例分析笔记

1.大型网站软件系统的特点:  高并发,大流量  高可用    海量数据  用户分布广泛,网络情况复杂  安全环境恶劣  需求快速变更,发布频繁  渐进式发展  2.大型网站演变架构  1)初步应用:... 查看详情

《大型网站技术架构:核心原理与案例分析》阅读笔记三

     今天把第三章《大型网站核心架构要素》的阅读体会和简要概述写一下。        软件架构除了当前的系统功能需求外,还关注性能、可用性、伸缩性、扩展性和安全性这5个要... 查看详情

《大型网站技术架构:核心原理与案例分析》阅读笔记二

   本次写写第二章《大型网站架构模式》概要内容和个人体会。   网站架构模式可以从分层、分割、分布式、集群、缓存、异步、冗余、自动化和安全九个方面描述。  分层是应用系统中最常见的一种架... 查看详情

大型网站技术架构:核心原理与案例分析阅读笔记四

大型网站核心架构要素之可用性   网站的可用性指标是网站架构设计中的重要指标,对外是服务承诺,对内是考核指标。所以说,一个高可用的网站架构是一个公司所需要具备的。而在影响网站可用性的众多因素中,硬件... 查看详情

大型网站技术架构:核心原理与案例分析阅读笔记六

大型网站核心架构要素之可扩展性   扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。它是系统架构设计层面的“开闭原则”。伸缩性是指系统能够通过增加(减少)自身资源规模的方式增强... 查看详情

《大型网站技术架构核心原理与案例分析》读书笔记

一、大型网站架构演化1、大型网站特点高并发,大流量高可用海量数据用户分布广泛,网络情况复杂安全环境恶劣需求快速变更,发布频繁渐进式发展2、大型网站架构发展历程文件服务器,数据库服务器,应用服务器分离应用... 查看详情

读书笔记:大型网站技术架构-核心原理与案例分析

李智慧《大型网站技术架构-核心原理与案例分析》性能可用性伸缩性扩展性安全性总结这本书组织的很不错,语言精练,篇幅也不长,对网站架构的要点讲的狠清楚透彻,思路清晰。主要围绕架构的五个要点࿱... 查看详情

大型网站技术架构:核心原理与案例分析阅读笔记之四

   通过本书了解到网站架构的几个基本要素,首先软件架构是关于软件的结构与组建的抽象描述,用于指导大型软件系统各个方面的设计。往往软件架构决定了软件以后的发展,对于一个成熟的软件应当具备以下几个... 查看详情

大型网站技术架构:核心原理与案例分析阅读笔记五

大型网站核心架构要素之伸缩性   所谓网站的伸缩性是指不需要改变网站的软硬件设置,仅仅通过改变部署的服务器数量就可以扩大或缩小网站的服务处理能力。回顾网站架构的发展史,其实就是一部不断向网站添加服务... 查看详情

《大型网站技术架构:核心原理与案例分析》阅读笔记四

     本次第四章《瞬时响应:网站的高性能架构》的内容概述和阅读体会写一下。        网站的性能是客观的指标,可以具体体现到响应时间、吞吐量等技术指标,同时也是主观的... 查看详情

大型网站技术架构-核心原理与案例分析-阅读笔记4

   在第四章案例章节中的淘宝网的架构演化案例分析小节中作者主要分析了淘宝架构的演化,以淘宝网的实例给我们分析介绍了淘宝网的业务发展历程及淘宝网的技术架构演化两个方面,在业务发展中作者写到淘宝的... 查看详情