高性能网站架构

【读书笔记】第三章 大型网站核心架构要素

ぐ巨炮叔叔 提交于 2019-12-02 03:56:42
#第三章 大型网站核心架构要素 软件架构:有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计 软件架构需要关注的几个方面: 系统功能需求(最基本的) 性能 可用性 伸缩性 扩展性 安全性 ##3.1 性能 ##3.2 可用性 对于大型知名网站,可用性要达到99.99%。 网站高可用架构的前提是:必然会出现服务器宕机,而高可用设计的目标就是当服务器宕机的时候,服务或应用依然可用。 高可用的主要手段是 冗余 ,应用部署到多台服务器上同时提供访问,数据存储到多台服务器上互相备份。 其他:软件开发过程保证质量,自动化测试,自动化发布,灰度发布等。 如何衡量一个系统架构设计是否满足高可用的目标? 就是假设系统中任何一台或多台服务器宕机时,已经出现各种不可预期的问题时,系统整体是否依然可用。 3.3 伸缩性 伸缩性:通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力和不断增长的数据存储需求。 衡量伸缩性的主要指标:是否可以用多台服务器构建集群,是否容易向集群中添加新的服务器。加入新的服务器之后是否可以提供和原来的服务器无差别的服务。集群中可容纳的总的服务器数量是否有限制。 对于 应用服务器集群 ,只要服务器上不存数据,所有服务器都是对等的,通过使用合适的负载均衡设备就可以向集群中不断加入服务器。 对于 缓存服务器集群 ,新加入的服务器会导致缓存路由失效