全球旧事资料 分类
能部件之间有服务器的边界,那么就有专门负责分布式调用的功能部件。如果单从功能逻辑上看,排Tier中也是有层Layer的,只是比传统层Layer的划分多了一些用于分布式调用的层Layer。排Tier是各层Layer物理分离后,再加入一些负责分布式调用的层Layer才形成的。排Tier和层Layer是有着联系的。从这个意义上说,排Tier是层Layer物理分离时的特例。有层Layer物理分离的情况下,可以称之为分层的架构,但是实际上这并不准确,因为排Tier是专门为这个场景定义的。有物理分离,就叫排Tier更准确些。层Layer只要一做物理分离,就转化成了排Tier。r
  从部署角度试图来区别分层Layer的架构和3排TierNr
排Tier的架构。因为物理分离的场景已经被定义成排Tier,那么剩下的就只能是物理不分离的场景了。所以分层Layered架构就特指部署在同一台服务上的场景(即物理不分离),3r
排TierNr
排Tier架构就特指各层Layer物理分离的场景。分层的架构部署到多台服务器上,理论上是可以的,但是光靠原有的层是不够的,有了服务器的边界之后,原来在同一个进程里面的方法调用就不再可行,必须新加一些层来做分布式的调用,才能让原来的各层运行起来。等做完这一切,发现这个架构再叫分层Layered的架构就不合适了,必须得叫3r
排TierN排Tier架构才合适。r
  层Layer和排Tier之间有联系,分层Layered的架构和3排TierN排Tier架构可以互相转化。r
  整体映象r
  从前面的描述中可以得知应用系统的每一排Tier都是由许多服务器来完成的。比如UI排Tier,可以是几十个服务器,几百个服务器,甚至是几千个服务器。具体每一个排Tier所需服务器的数目根据实际的需要来配置。所谓实际的需要就是看这一排Tier服务器的硬件资源利用率。比如CPUr
内存,磁盘读写等情况,如果相当高,就必须加入新的服务器部署该排Tier同样的应用到新服务器上。让新的服务器也能分担些压力。其实这就是要让应用程序能支持高可伸缩性。在每一个排Tier之间有硬件负载均衡,再其后就是下一个排Tier的服务接口了。在其服务接口之后才是该排Tier的服务。r
  除了高伸缩性之外,还有如何保证高性能。即应用程序必须是良好设计的。在每一个排Tier的内部,可以采取一些措施让应用程序的执行效率达到最高。让硬件的资源得到充分的利用。这有一些策略,如缓存。减少访问数据库的次数,等等。以下是一个可伸缩的asp
et应用系统的整体映象图:r
  一个在互联网上的用户的请求的处理过程是这样的:r
  1首先经硬件负载均衡处理,选定一个Web服务器来响应这个请求,然后将该请求r
好听全球资料 返回顶部