第一篇 概述
1.架构演化
?高并发,大流量??高可用?海量数据??况复杂 大型网站软件系统特点?用户分布广泛,网络情?安全环境恶劣??需求快速变更,发布频繁???渐进式发展系统安全,系统测试:Apache jmeter
大型网站架构演化发展历程:初始架构-->应用和数据分离-->使用缓存(本地缓存更快单数据量有限,分布式)-->使用集群(负载均衡服务器)-->数据库读写分离(主从热备)-->使用反向代理(中心机房)和CDN(网络提供商)(缓存原理)-->使用分布式文件和数据库系统-->使用NOSQL和搜索引擎-->业务拆分-->分布式服务(应用)
驱动网站发展主要力量是网站的业务发展,从小做大,技术是用来解决业务问题的,而业务的问题,也可以通过业务的手段去解决。
模式的关键在于模式的可重复性 2模式
?应用层?分层(横向)?服务层
?数据层?分割(纵向):业务分割
分布式(应用和服务、静态资源、数据和存储、计算、配置、锁、文件) 集群
?CDN??反向代理缓存?
?本地缓存?分布式缓存??提高系统可用性?异步:异步消息队列?加快网站响应速度
?消除并发访问高峰?冗余:服务器冗余运行,数据冗余备份?3.要素
?冷备份定期)?热备份主从分离(实时
传输、cdn、反向代理?浏览器端:缓存、页面压缩、布局、减少cookie?、异步、集群?应用服务器端:本地缓存、分布式缓存性能?
管理?代码层:多线程、内存?数据库端:索引、缓存、SQL优化?可用性:手段主要是冗余 伸缩性:可向集群不断加入服务器,数据库的集群伸缩性在数据库之外实现(路由分区) 扩展性:手段是事件驱动(消息队列实现)、分布式服务(将业务和可复用服务分离) 安全性:网站不受恶意访问和攻击,数据不被窃取
第二篇 高性能架构
4.瞬时响应:高性能 1.性能测试
步和缓存、CDN、反向代理?用户:优化HTML式样、浏览器并发、异?、异步消息、代码优化视角?开发人员:缓存、集群
?运维:建设优化骨干网、高性价比定制服务器、虚拟化技术优化资源?复请求测试)?响应时间(短时间用重??并发数指标?
吞吐量:TPS(事务)、HPS(HTTP)、QPS(查询)??性能计数器(SystemLoad系统负载)??性能测试??负载测试测试方法?
?压力测试?稳定性测试?2.Web前端性能优化
?请求(合并CSS、JavaScript、图片)?减少http??cache?control和expires??使用浏览器缓存:设置??浏览器访问优化?启动压缩??CSS放上面、JavaScript放下面????传输?减少cookie??CSS、script脚本、静态网页?CDN加速(图片、文件、??安全????静态缓存反向代理(可做负载均衡)????热点动态缓存??web状态更新????
3.应用服务器性能优化
???减少访问时间???缓存基本原理?减少计算时间???key??hashcode????取余??????频繁修改的数据??????没有热点的数据???数据不一致与脏读?????合理使用缓存??缓存可用性???(缓存热备、分布式集群)??????缓存预热???????缓存穿透分布式缓存???JBossCache需要同步更新??????受限服务器内存,??分布式缓存架构????需同步到所有机器???Memcached不互相通信??????简单的通信协议??????丰富的客户端程序?????高性能的网络通信?Memcached???LRU算法)??高效的内存管理(采用???slab_class??slab??chunk??????架构?互不通信的服务器集群???异步操作??使用集群??象?将对象设计为无状态对????多线程?使用局部对象???并发访问资源时使用锁????????单例???????模式?Sping构造的都是单例??????对象池????连接池、线程池????代码优化????数据库连接?资源复用:?????网络通信连接???线程??????复杂对象?????????数据结构:time33算法????垃圾回收?
4.存储性能
?硬盘??B?树vsLSM树 ?RAIDvsHDFS?5.万无一失:高可用 1.可用性度量和考核 2.高可用网站架构 3.高可用的应用
均衡)?无状态失效转移(负载??session复制?????session绑定Session管理(集群)??记录session?用cookie??session服务器???4.高可用的服务
?分级管理??超时设置??异步调用 ?服务降级???幂等性设计5.高可用数据
??数据持久性????数据可访问性??数据一致性?CAP原理????数据强一致??数据用户一致?????数据最终一致??证数据最终一致和可用性?冷备份简单廉价不能保???异步热备?数据备份?热备份????同步热备?????心跳检测??失效确认???应用程序访问失败报告????失效转移?访问转移??数据恢复???????

