一、分布式系统构建的挑战
1、异构组件 <网络,硬件,OS, 编程语言,不同开发者>
2、开放性(允许组件加与替换)<接口标准开放,一致的通读机制>
3、安全性<保密,健全,可用-防DOS>
4、伸缩性<系统在规模上的平滑过渡;注意控制物理成本,控制性能损耗,注意软件资源耗尽(如IPV4)>
5、失败处理<失败检测,屏蔽失败,容忍失败, 失败恢复,冗余>
6、组件并发性
7、透明性<及隐藏信息及细节或实现, 访问透明 (本地与远程用相同操作), 位置透明 (访问资源无须了解物理地址,如IP),并发透明(多个进程无须互相干涉地使用共享资源),复制透明(允许资源的多个实现用来提高有效性和性能无须知道具体复制体), 失败透明(隐藏失败,允许系统存在失败的情况下仍能完成用户的任务),移动性透明(资源与客户的移动而无须影响用户或者程序的操作),性能透明(允许系统随着负载变化而重配置), 伸缩透明(允许系统规模扩展无须改变系统结构和算法);>
8、服务质量<可依赖性, 安全性, 性能, 适应性>
二、分布式系统发展趋势
1、网络技术更加普及
2、无处不在的计算与分布式系统中渴望支持用户移动性
3、多媒体需求与日俱增
4、分布式系统作为一项普通应用