对于大型网站而言,出现宕机的情况是可怕的,因为可能有上千万的用户量,短短几分钟的宕机都有可能导致网站声誉扫地,如果是电商类的网站,更可能会导致用户的财产损失,甚至会摊上官司,那时候损失的就不仅是金钱和用户了,因此要保证能够提供每天 24 小时的可用,但实际中服务器并不能保证每天 24 小时都能平稳的运行,可能出现硬件问题,也可能出现软件问题,总之问题总是会有的。 所以我们高可用设计的目标就是在某些服务器宕机的情况下,也能够保证服务或应用正常运行,网站高可用的主要手段是冗余,应用部署在多台服务器上同时提供访问,数据存储在多台数据服务器之间互相进行热备份,这样任何一台服务器宕机都不会影响服务或应用的整体,也不会产生数据丢失。
对于应用服务器而言,多台应用服务器通过一个负载均衡设备组成一个集群同时对外提供服务,当一台服务器宕机后,服务切换到其他服务器上继续执行,这样就可以保证了网站的高可用性,前提是应用服务器不允许存储用户会话信息,否则将会丢失,这样即使用户请求转接到其他服务器上面也无法继续执行。 对于数据存储服务器,要提供服务器之间的实时备份,这样当一台服务器宕机的时候,将数据访问切换到其他服务器上,并进行数据恢复和备份,衡量一个系统架构设计是否满足高可用的目标,就是假设其中一台或多台服务器宕机以及出现各种不可预期的问题时,系统整体是否依然可用。 1.3、伸缩性 面对着大量用户的高并发访问和海量的数据存储,不可能只用一台服务器就能够满足全部需求,存储全部数据。通过集群 的方式将多台服务器组成一个整体共同提供服务,所谓伸缩性就是指通过不断向集群中加入服务器的手段来应对不断上升的用户并发访问压力和不断增长的数据存储需求,对于应用服务器集群,只要服务器上不存储数据,所有的服务器都是对等的,通过使用合适的负载均衡设备就可以向集群中不断加入新的服务器。
对于缓存服务器而言,加入新的服务器可能会导致缓存路由失效,从而导致大部分的缓存数据都无法访问,需要改进缓存路由算法来保证缓存数据可访问,关系数据库虽然支持数据复制,主从热备份等机制,但是很难实现大规模集群的可伸缩性。 1.4、可扩展性 网站的扩展性直接关系到网站功能模块的开发,网站快速发展,功能也不断的增加,网站架构的可扩展性的主要目的是使其能够快速的应对需求变化,是为了能够在增加新业务时,尽量实现对现有产品无影响,不需要改动或是改动很少现有业务就能够上线新产品;不同的产品业务之间的耦合度很小,一个产品或业务的改动不会对其他造成影响。 1.5、安全性 最后的就是安全性了,互联网是一个开放的平台,任何人在任何地方都可以访问网站,安全架构就是保护网站不受恶意的访问和攻击,保护数据不被窃取。 (责任编辑:admin) |