架构方法论
最近拜读了《大型网站技术架构核心原理与案例分析》,从整体上进一步了解了软件架构中的方法论,关注的核心要素,以及在每个架构模式中涉及到的技术。重新梳理后记录下来,然后时刻通过深入研究里面的每个方案和技术来提高自己能力。 架构的模式: 分层(应用层,服务层,数据层)、分割(将业务,服务分成细粒度独立的模块)、 分布式:分布式应用和服务,分布式静态资源,分布式数据和存储,分布式计算 集群(应用,服务,数据的集群提供高可用)、 异步(分布式队列)、缓存(CDN,反向代理,本地缓存,分布式缓存)、冗余、自动化、安全 一般网站架构有以下几个核心要素: 一、高性能 1.性能指标: 响应时间:指发出请求开始到接收全部数据所用的时间 并发数:同时处理请求的数目), 吞吐量 :单位时间系统能处理的请求数,TPS 每秒事务数,HPS 每秒http请求数,QPS每秒查询数 2.web前端性能优化 浏览器访问优化:减少http请求,合并css文件和javascript文件,静态资源用其他域,让浏览器可以发起多个并发请求 启用压缩(gzip)和浏览器缓存,将css放在页面最上面javascript放在页面最下面 ,减少cookie传输 CDN(content distribute network)加速、反向代理(Nginx,Apache) 3.应用服务器性能优化 (优化手段主要有 缓存、集群、异步)