`
a453228609
  • 浏览: 35402 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

《大型网站技术架构》读书笔记 – 网站的技术升级路线

 
阅读更多

《大型网站技术架构》读书笔记 – 网站的技术升级路线
image
本文描述网站从小到大演变过程中的技术升级路线;

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

    《大型网站技术架构》读书笔记.pdf

    《大型网站技术架构》读书笔记思维导图,初始架构、服务数据分离、缓存改善性能、服务器集群化、数据库读写分离、反向代理CDN、分布式FS/DBS、NOSQL和搜索引擎、业务切分

    大型网站技术架构笔记

    李智慧老师的大型网站技术架构的读书笔记

    大型网站技术架构笔记3.docx

    大型网站技术架构笔记3.docx

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

    《大型网站技术架构 核心原理与案例分析》的作者是李智慧,原阿里巴巴技术专家。 Java 的大多数应用都是用在Web上的,现在只要稍微大型一点的Web应用,都一定是一个分布式系统,那么一个分布式系统用到了哪些技术?...

    计算机技术的读书笔记10篇

    计算机技术的读书笔记10篇计算机技术的读书笔记10篇计算机技术的读书笔记10篇计算机技术的读书笔记10篇计算机技术的读书笔记10篇

    大型网站技术架构:摘要与读书笔记.docx

    站在更高的维度做架构,来自一线互联网大厂的经验总结,少走弯路少踩坑,值得拥有。

    大型分布式网站架构设计与实践.pdf

    文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记,一部分是个人经验总结。对大型分布式网站架构有很好的参考...

    《从零开始学架构》读书笔记

    在《从零开始学架构》读书笔记中,总结了许多架构设计的关键知识点,下面将详细解释这些内容。 1. 架构与框架的区别:架构强调的是系统的“结构”,而框架则是关于“规范”。架构设计需要解决由系统的复杂性所带来...

    大型分布式网站架构设计与实践+笔记.zip

    大型分布式网站架构设计与实践+笔记.zip 1.Cache缓存 2.持久化存储 3.消息系统MQ 4.垂直化搜索引擎 5.其他基础设施

    《亿级流量网站架构核心技术》读书笔记脑图汇总

    该脑图是通过阅读《亿级流量网站架构核心技术》拓展过来的,针对书中的重点知识点做了汇总和梳理,知识点明晰,可以依据此图,选择性学习

    系统架构师学习笔记

    从提供的内容来看,系统架构师的学习笔记包括了多个关键章节,每个章节都对应着不同方面的知识,覆盖了从基础的计算机知识到软件开发流程、软件架构设计以及具体技术的学习和应用。特别地,还涵盖了系统架构师在团队...

    2021年系统架构复习笔记(按章节).docx

    本篇复习笔记主要涵盖了2021年系统架构师考试的关键知识点,旨在帮助有一定基础的考生快速掌握考试所需的知识,提升通过率。笔记首先介绍了系统架构的概念及其发展历史,强调了规划在架构中的核心地位。系统架构包括...

    电商高并发、高可用技术架构学习笔记

    电商高并发、高可用技术架构学习笔记

    读书笔记:《大型分布式网站架构设计与实践》代码.zip

    读书笔记:《大型分布式网站架构设计与实践》代码

    大型网站系统与Java中间件实践读书笔记(二)

    【大型网站系统与Java中间件实践读书笔记(二)】 大型网站系统是指处理海量数据、应对高并发访问、以及应对复杂业务逻辑的网络应用。在这些系统中,Java中间件扮演着关键角色,帮助实现系统的扩展性和高效运行。...

    大型网站架构技术方案集锦

    WikiPedia 技术架构学习分享 Tailrank 网站架构 LinkedIn 架构笔记 Yahoo!社区架构 Craigslist 的数据库架构 Fotolog.com 的技术信息拾零 Digg 网站架构 Amazon 的 Dynamo 架构 财帮子(caibangzi.com)网站架构

    各大网站架构总结笔记

    各大网站架构总结笔记,总结了对于海量数据,高并发访问,存储,索引等应用

    web信息架构读书笔记

    Web 信息架构读书笔记 Web 信息架构是指对网站或应用程序的组织和设计,以便提供更好的用户体验。读书笔记中总结了 Web 信息架构的重要概念和设计原则。 必要的房间 在 Web 信息架构中,需要提供一个特殊的场所,...

    java读书笔记笔记笔记笔记笔记笔记

    【标题】"java读书笔记笔记笔记笔记笔记笔记" 暗示了这是一份关于Java编程语言的学习笔记,可能包含了作者在阅读Java相关书籍时所做的重要记录和理解。笔记通常涵盖了语言的基础概念、核心特性、类与对象、内存管理...

Global site tag (gtag.js) - Google Analytics