ffmmx's Blog

Happy coding

云计算,网格计算,分布式计算,集群计算的区别?

 

其实如果从应用的有状态和无状态两个分类去看,这些分布式技术都是分别提升有态应用和无态应用的性能和可扩展性Scalable。

应用架构设计的三个类型中,我也谈到了:并发是解决有态应用;并行是解决无态应用。

而集群和网格计算属于一种并发计算,主要解决有态应用;而云计算则是解决有态和无态两种。

过去我们都是围绕数据库编程,企业应用大部分都是数据库系统,数据库为核心的系统大部分是有状态应用,因为数据库保存的是数据,这个数据大部分是结果状态数据,比如交易后的数量和金额,发票的数量和金额,单据的状态等等。

企业中数据能够使用传统数据库装载存储,说明其数据量不是很大,但是随着互联网普及,特别是facebook等这些拥有几亿用户数据的系统诞生,大数据Big Data诞生,大数据和海量数据差不多,但是好像应该再多些。

大数据诞生后,传统有态并发方案已经失效,脱离数据状态进行裸奔的并行计算得到重视,因为数据太大,干脆抛弃它们,从函数编程这个思维去重新看待大数据计算,这样云计算的新特性:并行计算,如Hadoop等诞生,并成为云计算区别于传统集群的重要区别。

当然,云计算不只是解决并行计算,也提供并发计算能力,是以前分布式技术的一种总括,所以,刚开始有人怀疑云计算是旧瓶装新酒,这是没有深刻理解云计算的原因所在。