分布式系统开发学习之CS模式(一)(转)

http://rayinuk.cnblogs.com/articles/155597.html

CS模式简介

分布式结构至今已经有了30年的历史了,特别自电脑网络的时代开始,分布式结构变的非常的受欢迎。CS模式(Client-Server Architecture)可能是应用软件开发所使用的最成功的一种模式。它首先是出现在主机系统中,在局域网环境下,其性能显的格外的突出。而现在,CS模式已经成为一种基本的开发设计模式。虽然CS应用软件包含了ClientServer部件并且在网络中相互交互。但这并不代表说所有的CS应用软件均需要按照这样来设计(即网络不是必须的),它是允许在单机上运行的。

CS模式中,工作原理可以简单的理解为:

ClientServer提交一个请求; Server则使用一些方法处理这个请求,并将效果返回给Client. 如下图所示:



在处理
Client的请求时,Server本身可以成为另一个CS模式中的Client.

如下图所示:



大部份的朋友认为在
Client-Server应用软件中,Server做了几乎所有的工作。但实际上并不是这样。在实际应用中,Client执行了大部份的软件逻辑并完成了大部份的工作。Server当然也做了些工作。但它主要的工作是接受client的请求并返回结果。

有许多人说CS结构是分布式结构中最常用的一个例子。的确,它确实是一个常用的架构模式,而且它也在确是通过网络进行ClientServer之间的交互,但是,严格来说,CS模式有可能不是真正意义上的分布式结构。为什么这么说呢?我们首先应该从分布式结构的定义及特性去考虑。分布式系统简单来说是指通过网络,进行多于一台电脑之间的数据交互。而它最大的特性在于二点,性能(performance)和可量测性(Scalability). CS模式由于含有一系列的限制,以至于很难达到这二点分布式系统的特性。(在稍后会讨论有关这一系列的限制)。 另一方面,一个单独的应用软件的透明度通常也是一个分布式结构的特性,但CS模式并没有提供这方向的特性。举全例子,一个网页浏览器,可以看成是一个Client.而用户必须输入网站的网址去连接包含所要求网页的Server,在这里,它就缺乏了透明性。因此我也可以将这个网页浏览器和服务器看成是在这个系统中的二个独立的组件。

由于CS模式一系列的局限,以至于它不能被看成一个完全的分布式结构,我们可以更多的将之考虑为一种网络应用程序结构。在下一篇文章中,我将会总结有关CS模式的局限方面的知识。谢谢。

展开阅读全文

没有更多推荐了,返回首页