《大型网站技术架构》读书笔记三:大型网站核心架构要素
来源: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;避免使用滤镜;
④减少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)衡量标准:针对现存和潜在的攻击窃密手段,是否有可靠的应对策略;
本章思维导图
《大型网站技术架构》读书笔记三:大型网站核心架构要素相关推荐
- 读书笔记之 大型网站技术架构(核心原理与案例分析)
前言 坚持看了十几天的书,终于完成了毕业后第一次静下心来,利用业务时间看书并做笔记的成就了.废话不多说,这回看的是一直很膜拜的李智慧大神写的大型网站技术架构-核心原理与案例分析. 简短的读后感 极其推 ...
- 大型网站技术架构 读书笔记3 架构师
架构师 这篇笔记算是自我勉励吧,自己的长期职业规划目标就是当一个架构师,称为团队的核心.本篇涉及书中原文的第四篇,涉及第14到第16章节的内容--分别讲了架构师领导艺术.架构师职场攻略和架构师分类 ...
- [云数据中心] 《云数据中心网络架构与技术》读书笔记 第七章 构建多数据中心网络(1/3)
7.1 多数据中心的业务诉求场景 7.1.1 多数据中心的业务场景分析 主流需求:虚拟化和资源池化,形成多活,可就近提供服务 1. 业务跨数据中心部署 2. 两地三中心 是指在同城双活的数据中心基础上 ...
- [云数据中心] 《云数据中心网络架构与技术》读书笔记 第八章 构建云数据中心端到端安全
8.1 云数据中心面临的安全挑战 因为云化和SDN化的网络特点(网元出现的位置随意性更大,出现和消失的时间不定): 首先会导致安全业务开通周期长: 其次SDN的自动化能力是现在安全业务所不能达到的,很 ...
- 深入分析Java Web技术内幕读书笔记(二)浅析DNS域名解析过程
上一篇文章<浅析Web请求过程>讲述的是如何发起HTTP请求,对于请求发起过程中很重要的一个步骤--DNS解析过程的描述是一带而过,本篇文章将跟着DNS解析过程来分析域名是如何解析的. 一 ...
- 深入分析Java Web技术内幕读书笔记(一)浅析Web请求过程
随着Web技术的快速发展,互联网的网络架构已经从传统的C/S架构转变为B/S架构,B/S架构相较于传统的C/S架构,有诸多优点,例如:提供了统一的操作方式,简化了用户的学习成本:便捷的开发方式大大提高 ...
- 《软件测试方法和技术》 读书笔记
<软件测试方法和技术> 读书笔记 2014-07-17 第一章 引论 1.3 什么是软件测试 1.4 软件测试与软件开发的关系 第二章 软件测试基本概念 2.1 软件缺陷 ...
- 《How Tomcat Works》读书笔记(三)--Connector(连接器)
<How Tomcat Works>读书笔记(三)--Connector(连接器) 这是<How Tomcat Works>第三四章的读书笔记.主要写了Tomcat4.0默认的 ...
- mysql数据库权威指南_MySQL_MySQL权威指南读书笔记(三),第二章:MYSQL数据库里面的数 - phpStudy...
MySQL权威指南读书笔记(三) 第二章:MYSQL数据库里面的数据 用想用好MYSQL,就必须透彻理解MYSQL是如何看待和处理数据的.本章主要讨论了两个问题:一是SQL所能处理的数据值的类型:二是 ...
- [原创]京东技术解密读书笔记
[原创]京东技术解密读书笔记 1 <京东技术解密>--海量订单处理 http://www.csdn.net/article/2015-01-15/2823577 2 <京东技术解密& ...
最新文章
- 如何获取mongodb中的最后N条记录?
- 粒子群算法matlab多元,进化算法之粒子群算法和Matlab实现(多维)
- CSS三大特性(129-135 )
- tcp/udp高并发和高吐吞性能测试工具
- boost::locale::generator用法的测试程序
- git rollback代码都没了_git回滚线上代码
- 随机森林需要分训练集测试集吗_讨论记录用随机森林对生存数据降维,筛选signature...
- 物以类聚:对象也有生命
- Android大学课件SQLite3 数据库操作
- 谈一下UI框架经常看到Vue的.sync修饰符
- pythonindex函数输出字符首次出现位置_返回指定的字符串首次出现的位置
- HTTP代理和SOCKS代理有什么区别
- sql 事务(Transaction)
- 科普丨“垃圾”DNA?转座子在植物抗旱中的逆袭之路
- 一花独放不是春 远光软件区块链业务赚钱背后 链圈仍在过冬
- 在市场买一个小鸡都要20多块,为什么加工好的童子鸡才19块?
- Jetson Nano开发实录
- 网易云音乐歌单可视化,有多少是你收藏过的呢
- 怎样让照片变得更清晰,这几个方法真的好用!
- 良心推荐:看完这10部豆瓣高分美剧,英语水平提升几个Level!
热门文章
- redis的基本使用笔记一
- 5进程间锁:进程间pthread_mutex,文件锁
- 一个简单的FreeMarker案例
- 水星mw310r虚拟服务器,水星MW310R静态网络(IP)设置教程
- connect连接oracle6,Oracle Connect By 使用实例
- Cascade R-CNN
- 链表反转2(Reverse Linked List II)
- 中国大数据企业排行榜V6.0- 5 年后再去看看中几个大数据公司的发展状况
- Improving RGB-D SLAM in dynamic environments: A motion removal approach
- redux provider源码解析