分布式计算具有一些显著的优势:
(1)快速的响应时间
分布式计算可以把大型计算分布到多台计算机上进行,它可以根据不同的任务和场景来配置不同数量的计算资源,满足所需要的快速响应时间。
(2)高性能
相对于单机计算,或是集中式的计算机网络集群,分布式计算可以提供更高的性能及更好的性价比。
(3)高可扩展性
分布式计算系统可以根据需要,增加更多的计算机来满足技术需求。
(4)高可靠性(容错性)
分布式计算因为采用很多计算机来完成计算,一台服务器的崩溃并不影响到其余的服务器,失败的任务也会被调度到其他服务器上重新执行,不影响总体任务的完成。
(5)灵活性
分布式计算系统的安装、实施和调试一般都比较灵活,可以快速部署和应用。
(6)开放性
大多数的分布式计算系统,都是基于一些开放的标准和协议来开发的,本地或者远程都可以访问所提供的分布式计算服务。
同时,由于其分布式的特性,也存在一些缺点:
(1)故障诊断和调试
由于任务可能是在很多分布在不同地域和管理域的计算机上执行,因而要定位具体的故障机器及原因,并进行故障调试就存在着很多的问题。引起故障的原因也是多方面的,可能是网络问题、硬件问题、权限问题、同步问题等,要进行问题的重现和跟踪诊断远不如一台服务器或是一个集中的运行环境来得方便。
(2)异构环境及支持
由于任务运行在不同的计算机上面,而这些计算机的硬件、软件及环境配置都不尽相同。因此,针对统一的任务,要提前准备和配置相应的硬件软件环境,否则任务无法执行。
(3)网络问题
在任务的调度和运行过程中,经常会遇到网络基础设施的问题,如传输问题、网络拥堵、信息丢失等,需要在应用层面处理所有这些故障,造成比较大的开销。
(4)安全性
开放系统的特性让分布式计算系统存在着网络、数据的安全性和资源共享的风险等问题。