云计算之分布式计算

CSDN话题挑战赛第2期
参赛话题:万家争鸣的云计算修罗场

在这里插入图片描述

一、分布式计算

分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。

在这里插入图片描述


二、什么是分布式云计算?

首先来看一段维基百科的定义:分布式计算,又被称为分散式运算,主要研究分布式系统如何进行计算。分布式系统是一组计算机,透过网络相互连接传递消息与通信后并协调它们的行为而形成的系统,组件之间彼此进行交互以实现一个共同的目标。把需要进行大量计算的工程数据分割成小块,由多台计算机分别计算,再上传运算结果后,将结果统一合并得出数据结论的科学。分布式系统的例子来自有所不同的面向服务的架构,大型多人在线游戏,对等网络应用。


简单地说,分布式计算可以定义“在后端协同工作的多个计算机,在终端用户仅显示为一个计算机的组合”。在这组系统中协同工作的各计算机同时工作,但若其中一个或某些计算机发生故障,整个系统依然可以继续工作。在一个分布式系统中,多台计算机可以承载不同的软件组件或功能,但所有的计算机在承担不同的任务和角色时,要协力合作去完成一个共同目标。分布式系统或组合中的计算机可以物理上紧密相连并通过本地网络连接,也可以地理上遥远并通过广域网连。分布式系统可以由许多不同类型的配置组成,如主机、个人计算机、工作站、小型计算机等,但最终目标不变,就是将众多“单机”构成的网络组成得像计算机一样工作。


分布式云计算特点

  • 资源共享 :稀有资源可以共享:计算、网络、存储、应用、服务、服务器等.
  • 计算均衡 :通过分布式计算可以在多台计算机上平衡计算负载(分配多台进行并行理)
  • 合理利用 :可以把程序放在最适合运行它的计算机上(合理利用资源).

分布式计算的优点

  • 可靠性、高容错性
  • 可扩展性
  • 灵活性
  • 计算速度快
  • 开放性
  • 高性能

分布式计算机的缺点

  • 故障排除难度高
  • 软件支持少
  • 网络基础设施成本高
  • 安全性问题

分布式计算的工作原理

当前,常见的分布式计算项目通常使用世界各地上千万志愿者计算机的闲置计算能力,通过互联网进行数据传输(志愿计算)。

我们以一个Web应用程序为例,假设这一程序的工作量是一个月前的两倍,鉴于数据库必须处理之前两倍的请求数,性能随之下降,从而影响了终端用户的使用体验。处理方法可以是升级硬件、增加更多内存和带宽等(即垂直扩展方案),但如工作量不断增加呢?在某种程度上,升级系统在技术实现上和成本开销上变得不切实际。

在这样的情况下,分布式计算就可以发挥自身优势和潜力,以满足日益增长的流量和更高性能的需求。

在此情境下,分布式计算的解决方案即为,创建可与主服务器(上位机)同步的新数据库服务器(下位机),它们仅用于“读取”信息。每当用户尝试访问或读取信息时,新服务器负责处理请求,而主服务器则处理插入和修改请求。主服务器会定时将新变动同步至新服务器。

简而言之,分布式计算允许不同的设备(即节点)进行通信和协调,以实现共同的目标。分布式系统的设计允许单个计算机出现故障,因此其余的计算机继续工作并向用户提供服务。


三、分布式计算的应用

分布式计算应用包括(但不仅限于):

1、内容分发网络(Content Delivery Network,简称为CDN)

2、PCDN(P2P CDN)

3、分布式网络爬虫

4、分布式数据存储

5、开放计算项目(Open Compute Project,简称为OCP)

分布式计算可以使用的场景正在不断地正在探索过程中不断增加,目前可以使用的领域包括电信网络、互联网、P2P网络、航空订票系统、分布式数据库、科学计算、分布式渲染等。