2 云计算的主要技术
目前,几大信息公司通过一些研究项目和开源项目研发出了部分云计算产品,还没有一家公司能够提供完整的云计算架构。已采用的主流技术有:
(1)虚拟化。虚拟化是云架构的一种基础性设计技术,它允许将服务器、存储设备和其他硬件视为一个资源池,而不是离散系统,可以根据需要分配这些资源,通过快速提供虚拟机器或物理机器,迅速部署和增加工作负载。除服务器和存储整合之外,还提供整合系统架构,包括应用程序基础设施、数据和数据库、接口、网络、桌面系统甚至业务流程,通过把多个虚拟系统整合到较少物理系统上,缓解空间压力。云计算提供资源的微分区能力,例如CPU资源可以细化为一个物理CPU的1/10,通过监控CPU需求,并利用业务策略来确定为每个业务请求分配多少CPU资源。
虚拟化是目前Amazon、SUN和IBM公司在云计算中使用的主要方法。
(2)负载均衡技术。负载均衡技术通过虚拟IP地址把多个服务器和服务组合起来。根据资源情况调度服务器和服务,并在节点失败时自动进行故障转移。通过负载均衡技术,可以将云计算基础资源设计成虚拟专用数据中心,配置一组不同的系统角色以及这些角色之间的逻辑互连接。
(3)分布式协同运算。目前Google公司在分布式协同运算方面的研发较为成熟。其实现技术为:
主节点将任务进行分割,并将输入数据划分后分配给下层计算节点,在计算节点上,开发者定义函数来处理“键/值”对,并生成“键/值”对集合形式的中间结果,之后主节点根据开发者的函数定义将所有中间结果进行合并,完成任务的处理。实现分布式计算构建在海量存储能力之上的数据处理。
分布式协同运算通常会伴随着一个可扩展、结构化的容错性好的分布式文件系统实现海量的数据读写操作和一个分布式的文件库作为存储系统。分布式文件系统可以根据特定需求来控制文件在磁盘不同区块的读写。通常由一个控制中心、多个数据服务器以及客户端组成,系统中的文件被分隔成固定大小的数据块,存放于数据服务器中,数据块创建时被系统赋予的全局唯一的ID来进行识别,并被复制为至少3份存放在不同的数据服务器之上。控制中心管理着数据务器与客户端的数据流动,并且负责系统负载均衡,数据块分配和定位以及数据服务器状态监控等。