架构初探

庞雨青
2020-01-27 看过

全书分为四个部分:架构概述、架构的重要指标、案例和架构师职业生涯,加深了我对架构的了解。将心得摘录如下:

首先,架构是为需求服务的,没有必要为了高端而高端。而软件设计本身是复杂的,所以为了降低复杂性,通常采用分层或分割的方式,将软件进行横向与竖向的切分。分布式、集群和冗余可以解决网站面临的高并发问题以及可用性问题;缓存和异步则可以缩短响应时间,改善用户体验。

衡量网站架构有5个要素:性能、可用性、伸缩性、扩展性和安全性。

衡量性能的指标有“响应时间”、“吞吐量”等。响应时间是指执行一个操作所需的时间,包括发出请求到收到响应数据;吞吐量展现的是系统的整体处理能力,常用的量化指标有TPS(每秒事务数)、QPS(每秒查询数)等。

系统吞吐量、响应时间和并发数之间的关系可以打一个比方来理解:吞吐量是每天通过收费站的车辆数目,并发数是公路上正在行进的车辆数,响应时间是车速;假如车辆很少,那么车速很快,但收费站收到的钱也很少;随着高速上车辆的增多,车速会受到影响,但收费站收到的钱会变多;但如果车越来越多,高速会堵车,收费不增反降;超过极限后,高速会彻底瘫痪,资源耗尽。

为了改善系统性能,可以从三个方面入手优化:前端、应用服务器和存储。前端性能优化能采取的措施包括:浏览器访问优化、CDN加速和反向代理;应用服务器能采用的措施包括分布式缓存、异步操作、使用集群,和代码优化。

网站的可用性,业界通常用N个9来衡量:4个9表示99.99%的时间是可用的,即一年中最多有53分钟不可用。可用性可从三个方面考虑:应用、服务和数据;应用可以通过负载均衡实现无状态的失效转移;服务则是指公共服务,可以通过分级管理、超时设置、异步调用、服务降级等策略,提高服务的可用性;数据则需要考虑备份、失效转移等问题。

网站系统架构层次

To be continued..

0 有用
0 没用

查看更多豆瓣高分好书

评论 0条

添加回应

大型网站技术架构的更多书评

推荐大型网站技术架构的豆列

了解更多图书信息

豆瓣
免费下载 iOS / Android 版客户端