一、分布式系统的基础是什么
分布式系统可以增大系统的容量、提高系统的稳定性,并能提供系统的可拓展性,那么分布式系统是以什么为基础的呢?
据了解,分布式系统的基础是计算机网络,多数分布式系统是建立在计算机网络之上的,不过分布式系统的设计思想和网络操作系统是不同的,这决定了它们在结构、工作方式和功能上也不同。
二、分布式系统的设计难点有哪些
分布式系统以计算机网络为基础,由于分布式系统自身的特点及应用环境的复杂性,对于分布式系统的设计存在许多难点:
1、部分失效问题
由于分布式系统通常由若干部分组成,各个部分由于各种原因可能发生故障,如硬件故障、软件错误及错误操作等。如果一个分布式系统不对这些故障进行有效的处理,系统某一组成部分的故障可能导致整个系统的瘫痪。
2、性能和可靠性过分依赖于网络
由于分布式系统是建立在网络之上的,而网络本身是不可靠的,可能经常发生故障,网络故障可能导致系统服务的终止。另外,网络超负荷会导致性能的降低,增加系统的响应时间。
3、缺乏统一控制
一个分布式系统的控制通常是一个典型的分散控制,没有统一的中心控制。因此,分布式系统通常需要相应的同步机制来协调系统中各个部分的工作。设计与实现一个对用户来说是透明的且具有容错能力的分布式系统是一项具有挑战性的工作,而且所需的机制和策略尚未成熟。因此什么样的程序设计模型、什么样的控制机制最适合分布式系统仍是需要继续研究的课题。
4、难以合理设计资源分配策略
在集中式系统中,所有的资源都由操作系统管理和分配,但在分布式系统中,资源属于各节点,所以调度的灵活性不如集中式系统,资源的物理分布可能与用户请求的分布不匹配,某些资源可能空闲,而另一些资源可能超载。
5、安全保密性问题
开放性使得分布式系统中的许多软件接口都提供给用户,这样的开放式结构对于开发人员非常有价值,但同时也为破坏者打开了方便之门。
针对分布式系统存在的上述难点,要保证一个分布式系统的正常运行,就必须对系统资源进行有效的管理,对计算机之间的通信、故障、安全等问题提供有效的处理手段和支持机制。