站点架构模式

一、分层:
       分层是企业应用系统中最多见的一种架构模式,将系统在横向维度上切分红几个部分,每个部分负责一部分比相对照较单一的职责 ,而后经过上层对下层的依赖和调用组成一个完整的系统。
       分层结构无处不在,好比网络7层通讯协议。计算机硬件、操做系统、软件也可以看作是分层结构。在大型站点中也採用分层结构。

将站点分为应用层、服务层、数据訪问层, 经过分层,可以将一个庞大的系统切分红不一样的部分,便于分工合做开发和维护。各层之间具备必定的独立性,仅仅要维持调用接口不变。各层可以依据详细的业务变化独立演变发展而不影响其它的层。
       在分层架构中。必须合理划分层次边界和接口,严禁跨越层次调用。css


       大的分层机构内部还可以继续分层,比方应用层可以分为视图层、业务逻辑层等。sql


       分层结构是逻辑上的。在物理部署上,三层结构可以部署在同一个物理机器上,但是随着站点业务的增大,可能需要将已经分层的 模块进行分离部署,以便站点可以应用不少其它的资源来应对不少其它用户的訪问。数据库

分层结构的最開始是为了使得软件模块划分清晰和easy维护,在站点的不断发展演变过程当中。分层结构对于站点从单机部署到分布式方向发展是相当重要,所以在站点的演变初期就应该使用分层结构,未来的站点才干更好的演变。浏览器


二、切割:
       分层结构是在横向维度上进行切分的,而切割是在纵向维度上进行切割。随着站点愈来愈大,功能愈来愈复杂,这个时候可以把不一样功能的业务切割开来进行独立的部署,一方面可以简化维护,还有一方面可以使得在整个站点中并发量最大的业务分离开来独立享受资源。网络


三、分布式:
       分层和切割的主要目的是为了对切分后的模块便于分布式部署,也就是将不一样的模块部署在不一样的机器上面。经过远程调用完毕对应的业务。架构


      分布式意味着站点可以使用不少其它的计算机资源来应对高并发的訪问。为更过的用户提供訪问。
      但是分布式也带来了很是多的弊端。处在同一分布式中的机器互相訪问必须要经过网络做为中间介质,假如说为了完毕某个业务,须要经过多台机器来进行计算处理。那么在计算的过程当中必须要依赖网络的质量。可能会影响计算处理的速度。并发

再者,server越多,server宕机的几率也大。 某台机器上的服务不可用使得站点的可用性减小。还有就是在分布式中,分布式事务也难保证一致。这对站点的业务会形成很是严重的 影响。负载均衡

分布式致使站点以来错综复杂。提升了站点开发维护的难度。
     分布式方案可以分为下面几种:
        分布式应用和服务:将分层和切割后的业务进行分布式部署,可以使得站点应对更大的并发量。
        分布式静态资源:也就是将站点的静态资源(js、image、css、logo等)独立部署,并採用独立的域名,这也就是人们常说的"动静分离"。这样可以减轻业务server的訪问压力,可以使浏览器高速的响应。nosql


        分布式数据和存储:单台机器没法存储大数据。所以需要不少其它地机器来联合存储,除了对传统的关系型数据库进行分布式部署以外,为站点的大数据存储应运而生的nosql产品差点儿都是分布式的。
        分布式计算:站点某些部分处理的数据量很之大,这个时候就需要把计算程序分发到各台机器上一边加速计算和响应。
四、集群:使用分布式尽管已经将分层和切割后的模块进行部署,但是对于大型站点的首页(訪问量巨大)还需要独立部署,即多台机器部署一样的应用构成一个集群,同一时候经过负载均衡设备共同对外提供服务。分布式

当需要应对更大的并发时,仅仅需要向集群中增长机器就能够。



本文内容摘自李智慧《大型站点技术架构 核心原理与案例分析》


待续。。。。
相关文章
相关标签/搜索