内容目录
《大型网站技术架构》读书笔记 – 网站的技术升级路线
本文描述网站从小到大演变过程中的技术升级路线;
1.初始架构
一台服务器,应用、DB、文件都在一块,使用经典的LAMP模式构建整个站点;
优点很明显,开发部署都简单,船小好掉头,做不起来也亏不了多少;
2.应用服务与数据分离
随着访问量的增长,出现问题了:web性能变差,数据存储空间不够
这时候需要更多的服务器,首要任务是将数据库分离出来,单独占用一台服务器,如果文件读写多,需要增加文件服务器;不同的服务器对硬件的要求也不尽相同:
应用服务器需要处理大量业务逻辑,这需要更强的CPU;
数据库服务器需要快速磁盘检索和数据缓存,这需要更快的硬盘和更大的内存;
文件服务器需要存储用户上传的文件,需要更大的硬盘;
3.使用缓存改善网站性能
访问量持续增长,web性能再次变差;
考虑使用缓存改善网站性能;web的访问规律:80%业务访问集中在20%的数据上;使用缓存,数据库压力得到有效缓解;
缓存可通过以下方式增加:
增加应用服务器本地缓存,这个最直接,也最简单;
增加远程分布式缓存集群;当本地的内存不足以放下需要缓存的数据时,就只有通过分布式;
使用类似Memcached之类的开源缓存产品,缓存更多的数据;
4.应用服务器集群化
随着网站的成长,单一应用服务器成为网站瓶颈;
解决方案:应用服务器集群化提高网站并发处理能力;
做成集群的关键是增加负载均衡服务器来调度应用集群
5.数据库读写分离
问题:当增加缓存之后,随着访问量的持续增长,数据库再次出现问题:数据库负载压力过高
解决方案:数据库读写分离
利用数据库主从热备功能,实现读写分离;读写分离的细节这篇文章讲的很清楚了,就不多说,有需要的请参考:http://www.cnblogs.com/qlee/archive/2011/04/08/2009738.html
6.使用反向代理和CDN
问题:网站做大,全国甚至全球各区域的访问量都来了,但是各区域的访问速度差别巨大;
解决方案:使用反向代理和CDN
CDN和反向代理基本原理都是缓存,CDN部署在网络提供商的机房,用户请求最近的节点访问;而反向代理则部署在网站的中心机房;
7.使用分布式FS和分布式DBS
问题:应用集群如果将session管理做好,或做成无状态的应用集群,可达到线性伸缩;而数据库的压力却不是很好解决;
解决方案:使用分布式数据库拆分,可使用的方法有:
单表拆分:将不同的表放到不同的库中,从而降低单个数据库的结点的负载;这样带来的问题就是不同库中的表无法做join操作;
另一种方法就是按业务拆分,将属于同一业务的表划分到一个库中,从而有效降低数据库负载,同时在业务逻辑实现上不至于过于复杂;
8.使用NoSQL和搜索引擎
问题:出现海量数据存储和检索的需求
解决方案:使用NoSQl产品分布式部署来支持海量数据的查询和存储;
9.业务拆分
按照业务来划分子系统,按产品线划分系统,通过分布式服务来协同工作;
附:思维导图
卓越亚马逊地址: 《大型网站技术架构》
点击查看原图
相关推荐
大型网站技术架构_核心原理与案例分析_李智慧 pdf
《大型网站技术架构》读书笔记思维导图,初始架构、服务数据分离、缓存改善性能、服务器集群化、数据库读写分离、反向代理CDN、分布式FS/DBS、NOSQL和搜索引擎、业务切分
李智慧老师的大型网站技术架构的读书笔记
大型网站技术架构笔记3.docx
《大型网站技术架构 核心原理与案例分析》的作者是李智慧,原阿里巴巴技术专家。 Java 的大多数应用都是用在Web上的,现在只要稍微大型一点的Web应用,都一定是一个分布式系统,那么一个分布式系统用到了哪些技术?...
计算机技术的读书笔记10篇计算机技术的读书笔记10篇计算机技术的读书笔记10篇计算机技术的读书笔记10篇计算机技术的读书笔记10篇
站在更高的维度做架构,来自一线互联网大厂的经验总结,少走弯路少踩坑,值得拥有。
文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记,一部分是个人经验总结。对大型分布式网站架构有很好的参考...
在《从零开始学架构》读书笔记中,总结了许多架构设计的关键知识点,下面将详细解释这些内容。 1. 架构与框架的区别:架构强调的是系统的“结构”,而框架则是关于“规范”。架构设计需要解决由系统的复杂性所带来...
大型分布式网站架构设计与实践+笔记.zip 1.Cache缓存 2.持久化存储 3.消息系统MQ 4.垂直化搜索引擎 5.其他基础设施
该脑图是通过阅读《亿级流量网站架构核心技术》拓展过来的,针对书中的重点知识点做了汇总和梳理,知识点明晰,可以依据此图,选择性学习
从提供的内容来看,系统架构师的学习笔记包括了多个关键章节,每个章节都对应着不同方面的知识,覆盖了从基础的计算机知识到软件开发流程、软件架构设计以及具体技术的学习和应用。特别地,还涵盖了系统架构师在团队...
本篇复习笔记主要涵盖了2021年系统架构师考试的关键知识点,旨在帮助有一定基础的考生快速掌握考试所需的知识,提升通过率。笔记首先介绍了系统架构的概念及其发展历史,强调了规划在架构中的核心地位。系统架构包括...
电商高并发、高可用技术架构学习笔记
读书笔记:《大型分布式网站架构设计与实践》代码
【大型网站系统与Java中间件实践读书笔记(二)】 大型网站系统是指处理海量数据、应对高并发访问、以及应对复杂业务逻辑的网络应用。在这些系统中,Java中间件扮演着关键角色,帮助实现系统的扩展性和高效运行。...
WikiPedia 技术架构学习分享 Tailrank 网站架构 LinkedIn 架构笔记 Yahoo!社区架构 Craigslist 的数据库架构 Fotolog.com 的技术信息拾零 Digg 网站架构 Amazon 的 Dynamo 架构 财帮子(caibangzi.com)网站架构
各大网站架构总结笔记,总结了对于海量数据,高并发访问,存储,索引等应用
Web 信息架构读书笔记 Web 信息架构是指对网站或应用程序的组织和设计,以便提供更好的用户体验。读书笔记中总结了 Web 信息架构的重要概念和设计原则。 必要的房间 在 Web 信息架构中,需要提供一个特殊的场所,...
【标题】"java读书笔记笔记笔记笔记笔记笔记" 暗示了这是一份关于Java编程语言的学习笔记,可能包含了作者在阅读Java相关书籍时所做的重要记录和理解。笔记通常涵盖了语言的基础概念、核心特性、类与对象、内存管理...