一、分布式系统的挑战
分布式系统的挑战,其实就是某种意义上分布式系统研究的重点内容。
1、异构性
分布式系统的运行环境,存在下列异构性(即存在多样性和差别):网络、计算机硬件、操作系统、编程语言、由不同开发者完成的软件实现。中间件是解决异构性的一种方式,中间件是指一个软件层,它提供了一个编程抽象,屏蔽了底层网络、计算机硬件、操作系统、编程语言的异构性。
2、开放性
计算机系统的开放性是决定系统能否以不同的方式被扩展和重新实现的特性。
3、安全性
信息资源的安全性包括三个部分:机密性(防止泄露给未授权的个人)、完整性(防止被改变或被破坏)、可用性(防止对资源访问的干扰)。
4、可伸缩性
分布式系统可以在不同的规模下有效且高效地运行。
5、故障处理
分布式系统的故障处理是困难的,因为分布式系统的故障是部分的,有些组件出现了故障,有些组件可以正产运行。故障处理的技术有:检测故障、掩盖故障(有些能够被检测出来的故障,可以进行一些处理,防止系统整体的故障)、容错、故障恢复、冗余。
6、并发性
在分布式系统中,服务和应用均提供可被客户利用的资源。
7、透明性
透明性被定义为,对用户和应用程序,分布式系统是一个整体,屏蔽了分布式系统组件的分离性。
8、服务质量
服务质量可以用可以用可靠性、安全性和性能来去评价。