大型网站技术架构 学习笔记

第三章 大型网站核心架构要素

2019-05-08  本文已影响0人  JarvisTH

软件架构需要关注性能、可用性、伸缩性、扩展性、安全性这5个架构要素。

一、性能

任何软件架构设计方案必须考虑可能会带来的性能问题。优化网站性能的手段也很多,影响用户请求的所有环节还可以优化。

衡量网站性能有一系列指标,最重要的是响应时间、TPS、系统性能计数器等。

二、可用性

网站总可用时间=总时间-故障时间

因为网站使用的硬件是普通的商用服务器,不保证高可用。大型网站通常有上万台服务器,每天必定会有一些服务器宕机,因此网站高可用设计架构的前提是必须会出现服务器宕机,而高可用设计目标是当服务器宕机时,服务或应用依然高可用。

高可用的主要手段是冗余,应用、数据等部署在多台服务器上,任何一台服务器宕机都不会影响应用的整体可用。

除了运行环境,还需要开发过程的质量保证。

三、伸缩性

伸缩性是指通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力和不断增长的数据缓存需求。

衡量架构伸缩性的主要标准是是否可以用多台服务器构建集群。是否容易向集群中添加新的服务器。加入新的服务器后是否可以提供和原来一样的服务。集群中可容纳的总服务器数量是否有限制。

四、扩展性

关注网站功能的功能性需求,如何设计网站架构使其能快速响应需求变化,是可扩展性架构主要目的。

衡量网站架构扩展性好坏主要标准是在网站增加新业务产品时,是否可以实现对现有产品透明无影响,不需要改动或很少改动既有业务功能就可以上线新产品。

主要手段是事件驱动架构和分布式服务:

五、安全性

保护网站不受恶意访问和攻击,保护网站的重要数据不被窃取。

衡量标准是针对现存和潜在的各种攻击手段和窃密手段,是否有可靠应对策略。

上一篇下一篇

猜你喜欢

热点阅读