阅读笔记05
我们在浏览网站时,总会区分出网页速度的快慢,没有人会钟爱于速度慢的网页。这就涉及到了网页的高性能架构。性能测试是性能优化的前提和基础。从开发人员和测试人员的角度,网站的性能测试指标有响应时间、并发数、吞吐量、性能计数器等。其中性能测试包括了不同视角下的网站性能、性能测试指标、性能测试方法、性能测试报告、性能优化策略五个反面。其中Web前端的优化是业务逻辑之前的部分。包括浏览器的加载、网站视图模型、图片服务。CDN服务等。具体介绍了浏览器的优化:减少http请求;使用浏览器缓存;启用压缩;CSS放在页面的最上面、JavaScript放在页面的最下面;减少Cookie传输;CDN(内容分布网络)加速多种方法。反向代理具有保护网站安全的作用,也可以通过配置缓存功能来加速web请求,同时还具有实现负载均衡的功能。我现在学习期间做的Web网页并不是真正的项目,更没有对于网站的性能进行优化的考虑。通过这次的阅读收获甚多。
应用服务器性能优化包括了利用分布式缓存、采取异步操作来使得消息队列将调用异步化,及使用负载均衡技术为应用构建一个由多台服务器组成的服务器集群(所谓使用集群),网站性能的优化目的是为了让用户更能更好的体验。
在架构中另一个注重的是网站的可用性,保证了网站的万无一失。可用性用来描述网站可有效访问的性能。其中在高可用的应用通过负载均衡的进行无状态服务的失效转移和应用服务器集群的session管理,session管理主要包括Session复制、Session绑定、利用Cookie记录Session及Session服务器四个方面,Session服务器具有可用性高、伸缩性好、性能不错的及对信息大小没有限制的优点。高可用数据中包含了CAP原理、数据备份、失效转移三个方面。对于公司应用来说可用性关系到该公司网站的生死存亡。对于个人而言可用性关系到自己的绩效升迁,并且事物总是先求生存,然后发展,因此我们要多多考虑网站的高可用性,及事务所存在的后续价值。
伸缩性架构设计能力是网站架构师必须具备的能力。几乎所有的稍有规模的网站必须具有伸缩性。一般伸缩性的设计化为两类,一类是根据功能进行物理分离实现伸缩,一类是单一功能通过集群实现伸缩。一个良好的伸缩性架构设计的网站,其一定会在业务发展的前面。因此可以看出伸缩性架构的设计对于业务的实现具有重要的意义。
这次阅读的三大架构性能对我对网站的设计有了更加全新的认识。架构也是必须掌握的一门技术。