上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.1.3 分布式计算
可以看到,无论是集群计算还是网格计算,都是非常古老的体系。集群计算依赖共享内存,规模不可能无限扩大。而网格计算缺乏计算节点之间的协作能力,过于依赖中控节点的调度,很难形成真正实用的商业解决方案。因此,近些年分布式计算开始被提上日程。分布式系统是一组计算机通过网络相互连接传递消息与通信后,协调它们之间的行为而形成的系统。组件之间彼此进行交互以实现一个共同目标,把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,上传运算结果后将结果合并,从而得出相应的数据结论[4]。可以看到,分布式计算的核心与并行系统和网格计算的区别在于组件之间彼此交互。
如图2.5所示,图2.5a和图2.5b是分布式系统,组件之间涉及大量的依赖关系和彼此交互的逻辑,而图2.5c则是一个标准的并行系统,除了内存总线以外,处理节点各自独立,对等且无交互。当前的SOA(面向服务的架构)、微服务等架构之所以被称为分布式系统,就是因为模块之间的交互是形如图2.5a和图2.5b这样的形式。
图2.5 分布式系统和并行系统