首页 > 网站建设 >

大型网站建设如何搭建一个高可用的网站架构

发布时间:2018-10-30 作者:深圳网站建设

 大型网站建设如何搭建一个高可用的网站架构
  通常企业级应用系统为提高系统可用性,会采用较昂贵的软硬件设备,如IBM的小型机乃至中型机大型机及专有操作系统、Oracle数据库、EMC存储设备等。互联网公司更多地采用PC级服务器、开源的数据库和操作系统,这些廉价的设备在节约成本的同时也降低了可用性,特别是服务器硬件设备,低价的商业级服务器年宕机次是一个大概率事件,而那些高强度频繁读写的普通硬盘,损坏的概率则要更高些。既然硬件故障是常态,网站的高可用架构设计的主要目的就是保证服务器硬件故障时服务依然可用、数据依然保存并能够被访问。
  网站建设公司认为实现上述高可用架构的主要手段是数据和服务的冗余备份及失效转移,一旦某些服务器宕机,就将服务切换到其他可用的服务器上,如
果磁盘损坏,则从备份的磁盘读取数据。一个典型的网站设计通常遵循如图5-2所示的基本分层架构模型。
         网站建设高可用网站架构示意图5-2网站架构基本分层模型
  典型的分层模型是三层,即应用层、服务层、数据层;各层之间具有相对独立性,应用层主要负责具体业务逻辑处理;服务层负责提供可复用的服务;数据层负责数据的存储与访问。中小型网站在具体部署时,通常将应用层和服务层部署在起.而数据层则另外部署,如图5-3所示(事实上,这也是网站架构演化的第一步)。
网站建设架构可用性示意图5-3应用和数据分离部署的网站架构
  在复杂的大型网站架构中,划分的粒度会更小、更详细,结构更加复杂,服务器规模更加庞大,但通常还是能够把这些服务器划分到这三层中。如图5 -4所示。
网站建设架构安全示意图图5-4分层后按模块分割的网站架构模型
  不同的业务产品会部署在不同的服务器集群上,如某网站的文库、贴吧、百科等属于不同的产品,部署在各自独立的服务器集群上,互不相干。这些产品又会依赖些共同的复用业务,如注册登录服务、Session管理服务、账户管理服务等,这些可复用的业务服务也各自部署在独立的服务器集群上。至于数据层,数据库服务、文件服务、缓存服务、搜索服务等数据存储与访问服务都部署在各自独立的服务器集群上。
  大型网站的分层架构及物理服务器的分布式部署使得位于不同层次的服务器具有不同的可用性特点。关闭服务或者服务器宕机时产生的影响也不相同,高可用的解决方案也差异甚大。
  位于应用层的服务器通常为了应对高并发的访问请求,会通过负载均衡设备将组服务器组成个集群共同对外提供服务.当负载均衡设备通过心跳检测等手段监控到某台应用服务器不可用时,就将其从集群列表中剔除,并将请求分发到集群中其他可用的服务器上,使整个集群保持可用.从而实现应用高可用。
  位于服务层的服务器情况和应用层的服务器类似,电是通过集群方式实现高可用,只是这些服务器被应用层通过分布式服务调用框架访问,分布式服务调用框架会在应用层客户端程序中实现软件负载均衡,并通过服务注册中心对提供服务的服务器进行心跳检测,发现有服务不可用,立即通知客户端程序修改服务访问列表,剔除不可用的服务器。
  位于数据层的服务器情况比较特殊,数据服务器上存储着数据,为了保证服务器宕机时数据不丢失,数据访问服务不中断,需要在数据写入时进行数据同步复制,将数据写入多台服务器上,实现数据冗余备份。当数据服务器宕机时,应用程序将访问切换到有备份数据的服务器上。
  网站升级的频率一般都非常高,大型网站周发布次,中小型网站天发布几次。每次网站发布都需要关闭服务,重新部署系统.整个过程相当于服务器宕机。因此网站的可用性架构设计不但要考虐实际的硬件故障引起的宕机,还要考虑网站升级发布引起的宕机,而后者更加频繁,不能因为系统可以接受偶尔的停机故障就降低可用性设计的标准
大型网站建设高可用的应用
  应用层主要处理网站应用的业务逻辑,因此有叫也称作业务逻辑层,应用的一个显著特点是应用的无状态性所谓无状态的应用是指应用服务器不保存业务的上下文信息,而仅根据每次请求提交的数据进行相应的业务逻辑处理,多个服务实例(服务器)之间完全对等,请求提交到任意服务器,处理结果都是完全一样的。
1.通过负载均衡进行无状态服务的失效转移
  不保存状态的应用给高可用的架构设计带来了巨大便利,既然服务器不保存请求的状态,那么所有的服务器完全对等,当任意一台或多台服务器宕机,请求提交给集群中其他任意台可用机器处理,这样对终端用户而言,请求总是能够成功的,整个系统依然可用。对于应用服务器集群,实现这种服务器可用状态实时监测、自动转移失败任务的机制是负载均衡。
  负载均衡,顾名思义,主要使用在业务量和数据量较高的情况下,当单台服务器不足以承担所有的负载压力时,通过负载均衡手段,将流量和数据分摊到个集群组成的多台服务器上,以提高整体的负载处理能力。目前,不管是开源免费的负载均衡软件还是昂贵的负载均衡硬件,都提供失效转移功能。在网站应用中,当集群中的服务是无状态对等时,负载均衡可以起到事实上高可用的作用,如图5-5所示。
大型网站建设高可用架构示意图5-5利用负载均衡服务器实现高可用的应用服务
  当Web服务器集群中的服务器都可用时,负载均衡服务器会把用户发送的访问请求分发到任意一台服务器上进行处理,而当服务器10.0.0.1宕机时,负载均衡服务器通过心跳检测机制发现该服务器失去响应,就会把它从服务器列表中删除,而将请求发送到其他服务器上,这些服务器是完全一样的,请求在任何台服务器中处理都不会影响最终的结果。
  由于负载均衡在应用层实际上起到了系统高可用的作用,因此即使某个应用访问量非常少,只用一台服务器提供服务就绰绰有余,但如果需要保证该服务高可用,也必须至少部署两台服务器,使用负载均衡技术构建个小型的集群。这样就可以实现大型网站建设架构的高可用性。深圳网站建设公司关于大型网站架构的高可用性操作经验本文就分享到这里。喜欢本站的朋友敬请长期关注本站。谢谢,博纳网络编辑整理。

文章标题:大型网站建设如何搭建一个高可用的网站架构
本文地址:https://www.198bona.com/news/1606.html
如果您觉得案例还不错请帮忙分享:

网站建设

网络推广

解决方案

域名主机

建站行业资讯