【www.gdgbn.com--php基础】

廉价的计算能力和不断增加的网络带宽促进了以组件为基础的分布式计算程序的发展。以组件为基础的分布式程序是一个服务架构。它由物理上独立的计算机上的不同的应用组件构成。对用户来说,它们就像是运行在一台机器上的单一应用程序。有几个因素促进了分布式系统的应用,而不是传统的集中式系统。
・ 分布式应用:一些任务本身就是分布的。这个特性决定需要多个agent合作工作。在这种情况下,定位和获取有效的和最需要的计算能力及数据具有优先权。
・ 可靠性:因为系统的共享、合作和分布的特性,系统中不存在一个单个的失败点。使用新的容错、恢复和分布同步技术,更好的可靠性可以得到满足。
・ 可扩展性:对应用的需求日益繁多,正确的设计系统,就可以通过增加新的服务和硬件来处理更多的负载。
・ 性能:由于处理涉及到更多的应用范围,这些难题从本质上讲越来越复杂。为了解决日益复杂的问题,我们需要更快的计算机,这些计算机在可以接受的价格下具有更高的计算能力。
・ 经济性:获取相同等级的计算能力,使用分布在多台机器的系统其费用可以更低一些
对于用户来说,通过网络互连的异构计算机上的异构应用系统就像是在单台物理机器上的标准的应用系统。要达到这样的透明度,分布是系统需要在如下方面做到透明。
・ 数据定位:对于系统用户来说,他们不需要知道数据位于网络中的哪一个地方
・ 失败:对系统用户来说,他们不需要关注数据的一致性
・ 复制:系统用户不需要知道数据是如何被复制的
・ 分布:系统用户不需要知道计算能力和数据如何通过系统被分布的
分布式系统允许用户透明的保存、存取和操作来至多个计算机的数据,能在系统发生故障的时候维持数据的完整性。对分布式数据和交易的管理分成本地和全局两个级别。本地数据管理者或资源管理者能够访问和操作本地数据和资源。资源管理者提供了数据的透明定位,数据模型和数据库的安全与授权控制。本地的交易管理器负责处理计算系统交易的初始化、监控和终止。分布式交易系统将网络中相关的交易视为单一交易从而扩展了本地交易系统的范围。
交易是一组语句的集合表示一个工作单元,他们必须作为一个单元被执行。交易是位于资源上的操作的一个序列比如读、写或是更新。这些操作序列将系统由一个稳定态转化为新的稳定态。为了真实的反映系统中的实体,一个交易应该具有下面的特性:
・ 原子性:这个特性指全部都做或是全部都不做。操作序列或者是成功或者是失败。一个交易应该被认为是一个单一的操作单元。完成的交易应该被提交,没有完成的交易应该被回滚或是恢复为它的开始状态。绝不可能只有部分工作被提交。

本文来源:http://www.gdgbn.com/jiaocheng/5522/