大型网站技术架构阅读笔记03
之前我们对大型网站架构的模式进行了一定的学习,前面在学习一线架构师一说中说道,需求=功能+质量+约束,之前我们介绍的模式主要是对其业务功能的考虑及处理,然而这对一个大型的网站系统来说还是远远不够的,大型网站系统对于系统的质量属性还是有着严格的要求的。下面就针对大型网站核心架构的5个要素进行归纳。
性能:前面都说过对于大型的网站系统要面临的就是海量数据以及分散的高并发性,所以对于大型网站系统最主要的质量就应该是性能。性能是网站的一个重要指标,用户是无法忍受一个响应速度极其缓慢的网站的,一旦一个网站长时间处于缓慢状态,这就会逐渐的导致用户的流失,许多时候网站的性能问题就是架构设计中的关键属性,可以说任何一个网站的架构设计方案都必须把性能最为首位。
可用性:对于大型的网站而言,特别是那些知名的网站,平时就存在着大量的用户,可以想象,如果用于网站服务的服务器宕机,服务不可用这将是多大的一个事故,最轻也会使网站的声誉严重受损。尤其是对于电子商务的网站,如果出现宕机之后导致数据丢失,不仅仅是名誉问题,还需要偿还用户的金钱了。所以对于这些网站来说都是要求7×24可用,但是毕竟是一堆机器,难免的会出现错误,但是我们要做的是让排除故障对系统进行恢复的时间尽可能的短,所以在进行架构设计时必须考虑到这个问题,并设计处理的方案。例如冗余、双机热备等提高可用性的策略。
伸缩性:大型网站需要面对大量用户的高并发访问和存储海量数据,不可能只用一台服务器就处理全部用户请求,存储全部数据。网站通过集群的方式将多台服务器组成一-个整 体共同提供服务。所谓伸缩性是指通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力和不断增长的数据存储需求。
扩展性:不同于其他架构主要关注非功能性需求,网站的扩展性直接关注的就是网站的功能需求。对于一个网站系统来说,需要不断的发展,其业务的扩展,功能需要不断的扩展,所以必须要设计一个使用的架构能够快速的响应需求的变化,然后能够快速的实现网站的扩展更新。这就要求对于之前的业务功能能够透明的进行,改动后的网站系统对之前的业务要没有影响。
安全性:互联网是开放的,任何人在任何地方都可以访问网站。网站的安全架构就是保护网站不受恶意访问和攻击,保护网站的重要数据不被窃取。保证了数据的安全性是网站能够正常运行的基础,所以网站在架构设计时要有较高的安全处理方式。
性能、可用性、伸缩性、扩展性和安全性是网站架构最核心的几个要素,如果能够在架构设计时把这几个问题解决,大型网站架构设计中的大部分挑战也就克服了。