分布式计算的概念
“分布式计算是计算机科学的重要研究内容”
其实他真的很重要,怎么说?
他的研究对象主要是分布式(的)系统,一个分布式系统包含多台网络互联的计算机,由这些计算机软硬件资源组成的系统可以处理庞大的数据(项目),它可以理解为一种分而治之的方法。
举个例子,有一个公司接到一个项目订单,但是处理该项目需要用到大量的计算和存储空间,公司的任何一台电脑或服务器都无法满足,怎么办?最直接的办法,去买一块更大的存储空间,换性能更好的处理器,这样可以解决问题,实际上,在分布式系统出现前,人们的确是这样做的,在互联网刚刚建立初期,所以很多公司的业务线都是垂直架构(“垂直架构”与“分布式系统”个人理解为一对“反义词”),如LAMP,在当时数据还算比较简单比较容易处理的时候,简单易上手的垂直架构还能很有效地支撑各个公司的业务发展。
但是
随着互联网的发展和普及,数据的产生远远不至于成倍增长。这个时候,垂直架构还可以解决问题吗?可以啊~ 怎么办?砸钱买更好的设备啊…
对于资本主义国家来说,但凡谈到花钱的问题,总是会让他们大脑开发率到200%
咳咳,跑题了。
于是乎,为了解决问题(也为了省钱),分布式系统就诞生了!
回到刚刚举的例子,公司不是任何一台计算机都处理不了这个订单吗?那为什么不大家一起做?
把一块难啃的大骨头分成多块好肯的小骨头不就可以了?(写这个的时候突然想到了蒋介石评论博古的错误,有兴趣的可以去看一下)
这样做的好处有很多:
廉价的计算机和网络访问性可以处理大批量的数据。
可以实现资源共享
可拓展性强(计算机不够就增加连接的机数,多了就断开)
容错性,数据可以实现多备份,一台机器OVER了别的机器上还可以在别的机器上找的到(只是这么理解,实际上一台计算机坏了就有可能影响整个网络系统)
凡事没有绝对性,有有点就会有缺点
多点故障,由于连接的计算机比较多,并且都通过依赖网络通信,因此一台(或多台)计算机出现故障可能会使得整个分布式出现故障,类似与于网络中的总线型结构(用老祖宗的话讲:“都是一根绳上的蚂蚱”)注意:此处说的只是部分分布式系统结构,并不是所有,有的类似于网状形结构,单点故障不会影响全网。
安全性低,由于电脑连的多了导致黑客可攻击的范围也就多了,就好像,有人问你家借钱,你老婆不借,于是找你借,结果你借出去了,总的来说,钱是你们家的,通过你老婆这台主机“攻击”失败后开始“攻击”你这台主机继而成功。