热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【云计算与大数据技术】分布式计算、虚拟化技术、并行编程技术等技术讲解(超详细必看)

一、分布式计算分布式计算是一种计算方法,和集中式计算相对,随着计算的发展,一些应用需要巨大的计算能力才能完成,如果采用集中

一、分布式计算

分布式计算是一种计算方法,和集中式计算相对,随着计算的发展,一些应用需要巨大的计算能力才能完成,如果采用集中式计算则需要耗费很长的时间,而分布式计算将应用分解成许多更小的部分,分配到多台计算机进行处理,这样可以节省整体计算时间,大大提高计算效率。云计算是分布式计算技术的一种,也是分布式计算这种科学概念的商业实现

分布式计算的优点就是发挥集体的力量,将大任务分解成小任务,分配给多个计算节点去同时计算,分布式计算将计算扩展到多台计算机,甚至是多个网络,在网络上有序的执行一个共同的任务,当然离不开Web技术,但在分布式计算发展起来之前的网络协议并不能满足分布式计算的要求,于是产生了Web Service计算

分布式计算的另一种应用是Web Service 它是一个平台独立的  低耦合的 自包含的 基于可编程的Web的应用程序,可使用开放的XML标准来描述,发布,发现,协调和配置这些应用程序,用于开发分布式的,互操作的应用程序 

简单地说,这种技术的功能和中间件的功能有相似之处,Web Service技术是屏蔽掉不同开发平台开发的功能模块互相调用的障碍,从而可以利用HTTP和SOAP使商业数据在Web上传输,可以调用这些开发平台不同的功能模块来完成计算任务,这样看来,要在互联网上实施大规模的分布式计算,就需要Web Service作支撑

 


 二、云计算的基本概念

云计算的组成可以分为六个部分,它们由下至上分别是:  


基础设施(Infrastructure)

云基础设施使经过虚拟化的硬件资源和相关管理功能的集合,对内通过虚拟化技术对物理资源进行抽象,对外提供动态 灵活的资源服务


 存储(Storage)  

云存储设计提供数据存储作为一项服务,包括类似数据库的服务,通常以使用的存储量为结算基础


平台(Platform)  

云平台直接提供计算平台和解决方案作为服务,以方便应用程序部署,从而节省购买和管理底层硬件和软件的成本


应用(Application)

云应用利用云软件架构,往往不再需要用户在自己的计算机上安装和运行该应用程序,从而减轻软件维护 操作和售后支持的负担


 服务(Services)

云服务是指包括产品、服务和解决方案都实时的在互联网上进行交付和使用


 客户端(Clients)

云客户端包括专为提供云服务的计算机硬件和计算机软件中断


三、云计算的关键技术


1:分布式海量数据存储

   以移动通信运营商为例,随着移动业务和用户规模的不断扩大,每天都产生海量的业务、计费以及网管数据,然而庞大的数据量使得传统的数据库存储已经无法满足存储和分析需求,主要有以下问题

数据库容量有限

  并行取数困难  

JDBC访问效率太低  

数据库并发访问数太多

理想的解决方案是把大数据存储到分布式文件系统中,云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性

云计算系统中广泛使用的数据存储系统是GFS和HDFS。


2:虚拟化技术

虚拟化技术是云计算系统的核心组成部分之一,是将各种计算及存储资源充分整合和高效利用的关键技术。云计算的虚拟化技术不同于传统的单一虚拟化,它是涵盖整个IT架构的,包括资源,网络,应用和桌面在内的全系统虚拟化,通过虚拟化技术可以实现将所有硬件设备,软件应用和数据隔离开来,打破硬件配置,软件部署和数据分布的界限,实现IT架构的动态化,虚拟化技术可以提供以下特点


资源分享

通过虚拟机封装用户各自的运行环境,有效实现多用户分布分享数据中心资源


资源定制

用户利用虚拟化技术,配置私有的服务器,指定所需的CPU数目 内存容量 磁盘空间 实现资源的按需分配


细粒度资源管理

将物理服务器拆分成若干虚拟机,可以提高服务器的资源利用率,减少浪费,而且有助于服务器的负载均衡和节能


3:云平台技术

 云平台技术能够使大量的服务器协同工作,方便地进行业务部署,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营。  

 云计算平台的主要特点是用户不必关心云平台底层的实现。


4:并行编程技术

目前两种最重要的并行编程模式四数据并行和消息传递。数据并行编程模型的编程级别比较高,编程相对简单,但它仅适用于数据并行问题,消息传递编程模型的编程级别相对较低,但消息传递编程模型可以有更广泛的应用范围


5:数据管理技术

数据管理技术必须能够高效地管理大数据集,其次,如何在规模巨大的数据中找到特定的数据,也是云计算数据管理技术所必须解决的问题。

应用于云计算的数据管理技术最常见的是Google的BigTable数据管理技术,它采用列存储的方式管理数据。

BigTable技术建立在GFS和MapReduce之上的一个大型分布式数据库,它实际上是一个很庞大的表,它将所有数据都作为对象来处理,形成一个巨大的表格。

创作不易 觉得有帮助请点赞关注收藏~~~


推荐阅读
  • SOA架构理解理解SOA架构,了解ESB概念,明白SOA与微服务的区别和联系,了解SOA与热门技术的结合与应用。1、面向服务的架构SOASOA(ServiceOrien ... [详细]
  • 软件自动化测试的学习路线
    软件自动化测试的学习步骤软件测试交流群关注软件测试技术公众号获取阅读目录软件自动化测试的学习步骤自动化测试的本质自动化测试学习的误区自动化测试的职位自动化测试分类Web自动化 ... [详细]
  • 大数据分析Python有哪些爬虫框架
    一、ScrapyScrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。。用 ... [详细]
  • Therearelotsofdesignpatternsareavailablefordevelopingtheasp.netsite.Everyonedesignpa ... [详细]
  • 为什么80%的码农都做不了架构师?#0系列目录#聊聊远程通信Java远程通讯技术及原理分析聊聊Socket、TCPIP、HTTP、FTP及网 ... [详细]
  • ​如何设计一个安全可靠的 API 接口?
    作者|阿文责编|屠敏出品|CSDN(ID:CSDNnews)最近几年,随着RESTfulAPI开始风靡,使用H ... [详细]
  • 4种分布式Session的实现方式!老大直呼666...
    前言公司有一个Web管理系统,使用Tomcat进行部署。由于是后台管理系统,所有的网页都需要登录授权之后才能进行相应的操作。起初这个系统的用的人也不多& ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • [翻译]微服务设计模式5. 服务发现服务端服务发现
    服务之间需要互相调用,在单体架构中,服务之间的互相调用直接通过编程语言层面的方法调用就搞定了。在传统的分布式应用的部署中,服务地 ... [详细]
  • 服务网关与流量网关
    一、为什么需要服务网关1、什么是服务网关传统的单体架构中只需要开放一个服务给客户端调用,但是微服务架构中是将一个系统拆分成多个微服务,如果没有网关& ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • 伸缩性|发生_分布式文件系统设计,该从哪些方面考虑?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了分布式文件系统设计,该从哪些方面考虑?相关的知识,希望对你有一定的参考价值。点击上方关注“ ... [详细]
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
author-avatar
may
额,有趣的灵魂终会相遇
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有