分布式系统简介
分布式系统
一个分布式系统,是一系列独立实体配合解决一个不能单独解决的问题。分布式系统在宇宙开始之初就已经存在了。从一群鱼,到一群鸟,以至于微观组织的一个生态系统,自然界中,在无形的智能介质中,存在着一种无形的交流,这些事物广义上都可以算作并行的系统。由于互联网的迅速和广泛的发展,分布式计算系统作为一个有用的和广泛部署的工具,正在逐步变为现实。
对于一个计算系统来说,一个分布式系统归纳为以下几种方式:
1,多数电脑主机中的某一台电脑主机的崩溃,丝毫没有影响到你的计算任务的执行。
2,一系列不共享共同内存和时钟的主机,之间的通信是通过运行于信息网络中的消息的传递来实现,而这个信息网络系统中的电脑都是有自己的内存,并运行于自己的操作系统之上。并且这些电脑间,在合作解决一个问题的时候,耦合度是非常低的。
3,一系列独立电脑的组合,使得用户看起来就是一个独立的整体。
4,是这样一个术语,用来描述广泛范围内的电脑,从耦合度低的广域网,到耦合度高的局域网,到耦合度非常高的系统如多处理器的系统。
一个分布式系统可以归纳为一系列自主的处理器,通过一个信息网络平台中相互交流,并且具有以下特征:
1,没有共同的物理时钟。
2,没有共享内存。
3,地理上的隔绝。
4,自主性和异构性。
分布式系统的好处
1,可以用来进行分布式计算。在众多应用中,例如银行的转账,或者由众多地理上有一定距离的组件,完成一个共同的计算目标,显而易见,这种计算应该采用分布式的模式。
2,可以用来资源共享。资源,例如外围设备,数据库中完整的数据系列,特殊的组件,以及特定的数据,不能完全的被复制到所有站点,因为操作上的不可行,以及高成本的代价。另外,他们不能放置在同一个站点,因为这样频繁访问一个站点,从资源上来说,总会有瓶颈的。这样来说,这些资源就是分布于各个系统之上。例如,DB2就是这样一个分布式的数据库系统,它将数据分区存储于不同的服务器之上,并且分布于不同的站点之上,这样对于数据的快速存储来说,无疑是非常可靠的。
3,可以获取地理上不同距离的数据和资源。在许多场景中,数据不能整体复制到每一个站点上以参与分布式的任务执行,因为数据是在是太大了或者太敏感了。例如,对于一个跨国企业的薪资数据,本身就是数据量较大,而且相当敏感,不能复制到每个分站或者分公司。所以它被存储在一个数据中心服务器上,然后分支机构可以有权限进入并进行相关的查询。
4,可以加强系统的可靠性。主要体现在:
1)有效性。资源应该是每时每刻都是可获取的。
2)整体性。资源的值和状态都必须是正确的,从多台处理器上并发获取来说都是一致的。
3)容错性。系统可以从错误中快速的恢复起来。
5,可以增强系统的性价比。通过资源分享和数据的地理分布,性价比增加了。使用一个分布式系统,虽然更高的吞吐量不是其主要的目标,但是任务可以有效的分区到分布式系统的不同电脑上。这样的一个配置,相对于使用特殊的并行计算机来说,硬件上的性价比是可想而知的。
6,提高系统的扩展性。一般不同的处理器是通过广域网上连接的,增加更多的处理器,对于互联网的交互来说,不会造成一个直接的负担。
7,系统的模块化和递增的扩展性。各种异构的处理器可以方便的添加到系统中去,而不用担心影响整个系统的性能。同样的,已有的处理器也可以方便的被其它的处理器进行替换。
分享按钮
一个分布式系统,是一系列独立实体配合解决一个不能单独解决的问题。分布式系统在宇宙开始之初就已经存在了。从一群鱼,到一群鸟,以至于微观组织的一个生态系统,自然界中,在无形的智能介质中,存在着一种无形的交流,这些事物广义上都可以算作并行的系统。由于互联网的迅速和广泛的发展,分布式计算系统作为一个有用的和广泛部署的工具,正在逐步变为现实。
对于一个计算系统来说,一个分布式系统归纳为以下几种方式:
1,多数电脑主机中的某一台电脑主机的崩溃,丝毫没有影响到你的计算任务的执行。
2,一系列不共享共同内存和时钟的主机,之间的通信是通过运行于信息网络中的消息的传递来实现,而这个信息网络系统中的电脑都是有自己的内存,并运行于自己的操作系统之上。并且这些电脑间,在合作解决一个问题的时候,耦合度是非常低的。
3,一系列独立电脑的组合,使得用户看起来就是一个独立的整体。
4,是这样一个术语,用来描述广泛范围内的电脑,从耦合度低的广域网,到耦合度高的局域网,到耦合度非常高的系统如多处理器的系统。
一个分布式系统可以归纳为一系列自主的处理器,通过一个信息网络平台中相互交流,并且具有以下特征:
1,没有共同的物理时钟。
2,没有共享内存。
3,地理上的隔绝。
4,自主性和异构性。
分布式系统的好处
1,可以用来进行分布式计算。在众多应用中,例如银行的转账,或者由众多地理上有一定距离的组件,完成一个共同的计算目标,显而易见,这种计算应该采用分布式的模式。
2,可以用来资源共享。资源,例如外围设备,数据库中完整的数据系列,特殊的组件,以及特定的数据,不能完全的被复制到所有站点,因为操作上的不可行,以及高成本的代价。另外,他们不能放置在同一个站点,因为这样频繁访问一个站点,从资源上来说,总会有瓶颈的。这样来说,这些资源就是分布于各个系统之上。例如,DB2就是这样一个分布式的数据库系统,它将数据分区存储于不同的服务器之上,并且分布于不同的站点之上,这样对于数据的快速存储来说,无疑是非常可靠的。
3,可以获取地理上不同距离的数据和资源。在许多场景中,数据不能整体复制到每一个站点上以参与分布式的任务执行,因为数据是在是太大了或者太敏感了。例如,对于一个跨国企业的薪资数据,本身就是数据量较大,而且相当敏感,不能复制到每个分站或者分公司。所以它被存储在一个数据中心服务器上,然后分支机构可以有权限进入并进行相关的查询。
4,可以加强系统的可靠性。主要体现在:
1)有效性。资源应该是每时每刻都是可获取的。
2)整体性。资源的值和状态都必须是正确的,从多台处理器上并发获取来说都是一致的。
3)容错性。系统可以从错误中快速的恢复起来。
5,可以增强系统的性价比。通过资源分享和数据的地理分布,性价比增加了。使用一个分布式系统,虽然更高的吞吐量不是其主要的目标,但是任务可以有效的分区到分布式系统的不同电脑上。这样的一个配置,相对于使用特殊的并行计算机来说,硬件上的性价比是可想而知的。
6,提高系统的扩展性。一般不同的处理器是通过广域网上连接的,增加更多的处理器,对于互联网的交互来说,不会造成一个直接的负担。
7,系统的模块化和递增的扩展性。各种异构的处理器可以方便的添加到系统中去,而不用担心影响整个系统的性能。同样的,已有的处理器也可以方便的被其它的处理器进行替换。