网站的高可用架构:
网站的可用性描述网站可有效访问的特性,相比于网站的其他非功能特性,网站的可用性更能牵动人们的审计,大型网站的不可用事故直接影响公司形象和利益,刴互联网公司都将网站可用性列入工程师的绩效考核,与奖金升迁等利于挂钩。一个网站永远完全可用几乎是不可能完成的使用。网站不可用也被称为网站故障。也就是网站发生了错误,例如DNS被劫持等。几乎每个大型网络公司都会有相关的网站可用性评估可用。
网站的可用性是网站架构设计的重要指标,对外是服务承诺,对内是考核指标。一般的大型网络公司企业为了提高系统的可用性,会采用较为昂贵的软硬件设备。这样可以避免许多因软硬件自身故障而导致网站的故障。如果使用廉价的设备,虽然降低了系统弄得成本,但是也降低了系统的可用性,特备是服务器硬件设备,低价的商业级服务器一年死机一次是一个大概率的时间,而那些高强度频繁读写的普通硬盘,损坏的概率则要更高一些。而高可用架构的主要手段是数据和服务的冗余备份以及失效转移,一旦某些服务器死机,就将服务切换到其他可用的服务器上,如果磁盘损坏,则从备份的磁盘读取数据。一般企业架构分为三层:数据层,业务层,应用层;各层之间具有相对独立性。应用层主要负责业务逻辑处理,服务层负责提供可复用的服务,数据层负责数据的存储和访问。下面是更复杂的网站架构,划分的更加细致。
网站的伸缩性架构:
所谓伸缩性是指网站不需要改变软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力。例如淘宝的双11节日,全国甚至海外有庞大的用户在很短的时间内就开始下订单,这样就会导致有大量的数据突然流入导致服务器超载复核而一瞬间奔溃,这种情况下就需要添加大量的服务器来缓解网站的工作能力,而阿里巴巴就租用了其他公司的服务器,这样通过添加服务器的数量就是网站伸缩性。大型网站的“大型”,在用户层面可以理解为有大量以及大量访问,在功能方面可以理解为功能庞杂,产品众多,但是大型网站不是一开始就是大型的,都是从小做大,一步一步的演化而来的,所以网站一开始的设计很重要,虽然不能规划自己的未来,也不可能一开始就花费大量的金钱去设计一个大型系统,也不可能发展到一定的阶段重新设计一个系统,显然是不现实的。只能一步一步去摸索。所以网站的伸缩性架构就很好的解决了这个问题。通过不断的向服务器集群中添加新的服务器来增强整个集群的能力。
网站的可扩展性架构:
系统的可扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。表现在系统基础设施稳定不需要经常变更,应用之间较少依赖和耦合,对需求变更可以敏捷响应。它是系统架构层面的开闭原则,架构设计考虑未来功能扩展。伸缩性是指系统能够通过增加(减少)自身资源规模的方式增强(减少)自己计算处理事务的能力。如果这种增减是成比例的,就被称作线性伸缩性。每一个网站只有不断的推出自己的新功能,发现达不到预期,就只能被淘汰。所以系统的可扩展性很重要。所以,一些大型网站不断推出新功能,发布新产品。
《河北省重大需求征集系统》的可用性分析:河北省重大需求系统面向的用户没有那么庞大,因此不需要对自己的系统要求达到像淘宝那样可以支撑双11那种大量的用户请求,数据读写。只需求保持用户上限在10万之下足以。
《河北省重大需求征集系统》可扩展性分析:河北省重大需求征集系统的功能比较单一,就是用户提交需求分析,管理员进行审核,功能扩展时,不需要对原有的性能和业务流程进行更改。