来源:http://www.cnblogs.com/edisonchou/p/3806348.html

此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。

一、性能—响应时间决定用户

(1)浏览器端:

  ①浏览器缓存;

  ②使用页面压缩;

PS:Gzip压缩效率非常高,通常可以达到70%的压缩率,也就是说,如果你的网页有30K,压缩之后就变成了9K左右。想要启用Gzip压缩,提高浏览速度,可以浏览这篇文章:http://www.chinaz.com/web/2012/1017/278682.shtml

  ③合理布局页面;

  CSS:把样式表置于顶部;避免使用CSS表达式(expression_r);使用外部JavaScript和CSS;削减JavaScript和CSS;用<link>代替@import;避免使用滤镜;

  JavaScript:把脚本置于页面底部;使用外部JavaScript和CSS;削减JavaScript和CSS;剔除重复脚本;减少DOM访问;开发智能事件处理程序;

  ④减少Cookie传输;

(2)CDN:内容分发网络(Content Delivery Network,简称CDN)将加速内容分发至离用户最近的节点,缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性,解决网络带宽小、用户访问量大、网点分布不均等问题。详情请见百度百科:http://baike.baidu.com/view/8689800.htm?from_id=420951&type=search&fromtitle=CDN&fr=aladdin

(3)应用服务器端:服务器本地缓存和分布式缓存;

  Memcached简介:http://baike.baidu.com/view/794242.htm

  Redis简介:http://baike.baidu.com/view/4595959.htm

(4)服务器集群技术:Web服务器集群、数据库服务器集群、分布式缓存服务器集群等等,通过部署多台服务器共同对外提供同类服务,提高整体处理能力。

(5)数据库服务器端:

  ①索引:索引(index)是对数据库表中一个或多个列(例如,employee 表的姓氏 (name) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。

PS:要注意的是,建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件。

  ②缓存:数据库缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对数据库的物理数据源访问的频次,从而提高了应用的运行性能。

  ③SQL优化:当一个基于数据库的应用程序运行起来很慢时,90%的可能都是由于数据访问程序的问题,要么是没有优化,要么是没有按最佳方法编写代码,因此你需要审查和优化你的数据访问/处理程序。具体可以浏览这篇文章:http://www.cnblogs.com/Shaina/archive/2012/04/22/2464576.html

  ④NoSQL:方兴未艾的NoSQL数据库通过优化数据模型、存储结构、伸缩性等手段在性能方面的优势日趋明显。

二、可用性—你能保证几个9?

(1)如何衡量可用性?全靠9来撑腰:几乎所有网站都承诺7*24小时可用,但事实上都不可能完全实现,总会有一些故障时间。那么,去除这些故障时间就是网站的总可用时间。换算成网站的可用性指标,以此衡量网站的可用性,例如某些知名网站可用性达到99.99%。

(2)哪些手段提高可用性?

  ①核心:冗余-各服务器互相备份保证整体可用;

  ②应用服务器端:通过负载均衡设备建立集群,其中一台宕机立即切换到其他服务器继续提供服务,这就保证了高可用性。

  ③存储服务器端:需要对数据进行实时备份,当某台宕机立即将数据访问请求转换到其他服务器上,并进行数据恢复以保证数据高可用。

三、伸缩性—能屈能伸方为大丈夫

(1)衡量标准:

  ①是否可以多态服务器构建集群?

  ②是否容易向集群中添加新服务器?

  ③加入服务器后是否能提供无差别服务?

(2)主要手段:

  ①应用服务器:使用合适的负载均衡设备(硬件还是软件?F5还是LVS+KeepAlived);

  ②缓存服务器:改进缓存路由算法保证缓存数据的可访问性;

  ③数据库服务器:通过路由区分等手段将多服务器组成一个集群;

四、扩展性—不痛不痒之间新业务就上线了

(1)衡量标准:增加新业务时是否可以实现对现有产品透明无影响(是否需要对现有业务进行修改匹配?);

(2)主要手段:

  ①事件驱动架构:利用消息队列实现;

  ②分布式服务:将业务和可复用服务分离;

五、安全性—妈妈再也不用担心的我的照片了

(1)何为安全性?保护网站不受恶意访问和攻击,保护网站的重要数据不被窃取;

(2)衡量标准:针对现存和潜在的攻击窃密手段,是否有可靠的应对策略;

本章思维导图

《大型网站技术架构》读书笔记三:大型网站核心架构要素相关推荐

  1. 读书笔记之 大型网站技术架构(核心原理与案例分析)

    前言 坚持看了十几天的书,终于完成了毕业后第一次静下心来,利用业务时间看书并做笔记的成就了.废话不多说,这回看的是一直很膜拜的李智慧大神写的大型网站技术架构-核心原理与案例分析. 简短的读后感 极其推 ...

  2. 大型网站技术架构 读书笔记3 架构师

    架构师   这篇笔记算是自我勉励吧,自己的长期职业规划目标就是当一个架构师,称为团队的核心.本篇涉及书中原文的第四篇,涉及第14到第16章节的内容--分别讲了架构师领导艺术.架构师职场攻略和架构师分类 ...

  3. [云数据中心] 《云数据中心网络架构与技术》读书笔记 第七章 构建多数据中心网络(1/3)

    7.1 多数据中心的业务诉求场景 7.1.1 多数据中心的业务场景分析 主流需求:虚拟化和资源池化,形成多活,可就近提供服务 1. 业务跨数据中心部署 2. 两地三中心 是指在同城双活的数据中心基础上 ...

  4. [云数据中心] 《云数据中心网络架构与技术》读书笔记 第八章 构建云数据中心端到端安全

    8.1 云数据中心面临的安全挑战 因为云化和SDN化的网络特点(网元出现的位置随意性更大,出现和消失的时间不定): 首先会导致安全业务开通周期长: 其次SDN的自动化能力是现在安全业务所不能达到的,很 ...

  5. 深入分析Java Web技术内幕读书笔记(二)浅析DNS域名解析过程

    上一篇文章<浅析Web请求过程>讲述的是如何发起HTTP请求,对于请求发起过程中很重要的一个步骤--DNS解析过程的描述是一带而过,本篇文章将跟着DNS解析过程来分析域名是如何解析的. 一 ...

  6. 深入分析Java Web技术内幕读书笔记(一)浅析Web请求过程

    随着Web技术的快速发展,互联网的网络架构已经从传统的C/S架构转变为B/S架构,B/S架构相较于传统的C/S架构,有诸多优点,例如:提供了统一的操作方式,简化了用户的学习成本:便捷的开发方式大大提高 ...

  7. 《软件测试方法和技术》 读书笔记

    <软件测试方法和技术> 读书笔记 2014-07-17 第一章 引论   1.3 什么是软件测试   1.4 软件测试与软件开发的关系 第二章 软件测试基本概念   2.1 软件缺陷   ...

  8. 《How Tomcat Works》读书笔记(三)--Connector(连接器)

    <How Tomcat Works>读书笔记(三)--Connector(连接器) 这是<How Tomcat Works>第三四章的读书笔记.主要写了Tomcat4.0默认的 ...

  9. mysql数据库权威指南_MySQL_MySQL权威指南读书笔记(三),第二章:MYSQL数据库里面的数 - phpStudy...

    MySQL权威指南读书笔记(三) 第二章:MYSQL数据库里面的数据 用想用好MYSQL,就必须透彻理解MYSQL是如何看待和处理数据的.本章主要讨论了两个问题:一是SQL所能处理的数据值的类型:二是 ...

  10. [原创]京东技术解密读书笔记

    [原创]京东技术解密读书笔记 1 <京东技术解密>--海量订单处理 http://www.csdn.net/article/2015-01-15/2823577 2 <京东技术解密& ...

最新文章

  1. 如何获取mongodb中的最后N条记录?
  2. 粒子群算法matlab多元,进化算法之粒子群算法和Matlab实现(多维)
  3. CSS三大特性(129-135 )
  4. tcp/udp高并发和高吐吞性能测试工具
  5. boost::locale::generator用法的测试程序
  6. git rollback代码都没了_git回滚线上代码
  7. 随机森林需要分训练集测试集吗_讨论记录用随机森林对生存数据降维,筛选signature...
  8. 物以类聚:对象也有生命
  9. Android大学课件SQLite3 数据库操作
  10. 谈一下UI框架经常看到Vue的.sync修饰符
  11. pythonindex函数输出字符首次出现位置_返回指定的字符串首次出现的位置
  12. HTTP代理和SOCKS代理有什么区别
  13. sql 事务(Transaction)
  14. 科普丨“垃圾”DNA?转座子在植物抗旱中的逆袭之路
  15. 一花独放不是春 远光软件区块链业务赚钱背后 链圈仍在过冬
  16. 在市场买一个小鸡都要20多块,为什么加工好的童子鸡才19块?
  17. Jetson Nano开发实录
  18. 网易云音乐歌单可视化,有多少是你收藏过的呢
  19. 怎样让照片变得更清晰,这几个方法真的好用!
  20. 良心推荐:看完这10部豆瓣高分美剧,英语水平提升几个Level!

热门文章

  1. redis的基本使用笔记一
  2. 5进程间锁:进程间pthread_mutex,文件锁
  3. 一个简单的FreeMarker案例
  4. 水星mw310r虚拟服务器,水星MW310R静态网络(IP)设置教程
  5. connect连接oracle6,Oracle Connect By 使用实例
  6. Cascade R-CNN
  7. 链表反转2(Reverse Linked List II)
  8. 中国大数据企业排行榜V6.0- 5 年后再去看看中几个大数据公司的发展状况
  9. Improving RGB-D SLAM in dynamic environments: A motion removal approach
  10. redux provider源码解析