《大型网站技术架构:核心原理及案例分析》阅读笔记02
第二篇:架构
本篇主要就第三节提到的五个网站架构关注点进行分析,为我们介绍了如何让自己的网站达到每一个性能的要求。
1.瞬时响应:网站的高性能架构
网站的性能是客观的指标,可以具体到相应时间、吞吐量等技术指标,同时它很大程度上受到用户的主观感受的影响,主观感受也会因人而异。要提高网站的性能,就需要进行性能测试来检查网站可以进行优化的问题点。响应时间、并发数、吞吐量、性能计数器,这些是开发人员要关注的关键处。性能测试通常有以下几种形式:性能测试、负载测试、压力测试、稳定性测试。
通过一系列的测试,生成测试报告,根据报告不同的结果对网站提出可行的优化方案。常见的优化手段有浏览器优化访问、使用反向代理、CDN等。同时,还可以对存储性能进行优化。通过一系列的技术手段,满足用户的心理预期。
2.万无一失:网站的高可用架构
可用性描述了网站有效访问的特性,网站的故障轻则影响用户的使用,重则影响用户的体验,导致用户流失,造成不可估量的损失。通常我们使用网站的可用性指标【(1-网站的不可用时间/年度总时间)x100%】来估计网站的可用性。保证网站的可用性,是至关重要的。
3.永无止境:网站的伸缩性架构
好的网站可以不用改变网站的软硬件设计,仅仅通过改变部署的服务器数量来扩大或缩小服务的处理能力。京东的事故就足以说明伸缩性的重要。大型网站通常需要应对巨大的访问量,业务规模的不断扩大,给网站带来了越来越大的压力与挑战。通常使用的方法是:根据功能物理分离、单一功能集群(Http、DNS、反向代理、IP、数据链路层、缓存等多种方法实现)。
4.随需应变:网站的可扩展架构
为了增大自己的用户量,网站就不能仅有单一的功能,而要取长补短,进而拓展业务,扩展功能。高扩展性就意味着低耦合性,各个功能之间要尽量减少互相的关联,提高模块的复用性。可以使用的方法有:分布式消息队列、分布式服务、可扩展的数据结构。拥有好的可扩展性,开发人员的工作会减轻不少。
5.固若金汤:网站的安全架构
自从互联网诞生,安全问题就被大量关注。新浪微博遭XSS攻击和CSDN用户信息泄露两个大事件造成的后果就值得我们深思。XSS和SQL注入攻击是最主要的两种网站攻击方式,XSS是跨站点脚本攻击,通过篡改网页,注入恶意HTML脚本,控制用户浏览器;SQL注入攻击是在请求访问数据库时被构造恶意SQL语句,并被执行;除此之外还有一些针对漏洞的攻击。对于信息泄露,我们要做的就是对信息进行加密,并进行密钥管理,来预防问题的发生。只有拥有一个安全的架构,整个网站才能够平稳地运行。