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

云计算学习笔记002云计算的理解及介绍,google云计算平台实现原理

什么是云计算:l说的明白一点:•云计算其实就更大限度的发挥网络的资源。•那为什么叫云,为什么不到互联网计算?Cloud

什么是云计算:

l  说的明白一点:

•    云计算其实就更大限度的发挥网络的资源。

•    那为什么叫云,为什么不到互联网计算?Cloud

l 大多数计算的网络拓扑图都用一块“云”来表示互联网。于是就形成了云计算的说法

l  狭义:是指IT基础设施的交付和使用模式,是指通过网络以按需、易扩展的方式获取所需要的资源。提供资源的网络被称为“云”。云中的资源在使用者看来是可以无限扩展的,并且可以随时获取。

l  广义:是指服务的交付和使用模式,是指通过网络以按需、易扩展的方式获取所需要的服务。

 

 


一块网络通常用一块云来表示,所以习惯上,就把网络计算,称为云计算.


云计算相关概念

l  云计算


•   云计算是为用户提供无限计算资源的商业服务,是能够自我管理计算资源的系统平台,是应用服务按需定制、易于扩展的软件架构。


l  --- XXX ---

l  计算资源包括:CPU运算资源、存储资源、网络带宽等

l  云计算是并行计算、分布式计算和网格计算的发展,是这些计算机科学概念的商业实现。

l  云计算是虚拟化(Virtualization)、效用计算(UtilityComputing)、IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等概念混合演进并跃升的结果。

 


云计算的几大形式


l  云计算服务类形

•    基础设施即服务( IaaS)  - 提供硬件设备

•    app – engine

//比如用户自己弄了一个软件,就可以发布到谷歌的这个app– engine平台上,然后全世界就可以得到你的这个软件的服务了.

•    软件即服务( SaaS ) -   WebService

//软件服务,就是说,自己的webservice可以为世界的其他用户提供服务

•    网络服务

•    平台即服务(PaaS) - hadoop(平台) ,Oracle(),MS,

//就是各种大型云服务,比如数据服务,存储服务等等.

•    管理服务提供商(MSP)

//给企业,提供相关的管理服务.

•    商业服务平台

//商业服务,比如给不同公司提供,自己的管理系统等等.


•   云安全

//云查杀等等..


l  InfoWorld网站同数十家公司、分析家和IT用户讨论出了云计算的几大形式。

l  --- XXX ---


l  下面将大体介绍每一种云计算形式


 


基础设施即服务 (实用计算、虚拟化)


IaaS —— Infrastructure as a Service

•    是为IT行业创造虚拟的计算和数据中心,使得其能够把计算单元、存储器、I/O设备、带宽等计算机基础设施,集中起来成为一个虚拟的资源池来为整个网络提供服务。

•    用多少算多少

•    Amazon WebServices,简作AWS

•    弹性计算云EC2 (ElasticCompute Cloud)——计算

•    简单存储服务S3 (SimpleStorage Service)—— 存储


•   Google App Engine


l  Amazon使用弹性计算云(EC2)和简单存储服务(S3)为企业提供计算和存储服务。

l  收费的服务项目包括存储服务器、带宽、CPU资源以及月租费。月租费与电话月租费类似,存储服务器、带宽按容量收费,CPU根据时长(小时)运算量收费。

l  Amazon把云计算做成一个大生意没有花太长的时间:不到两年时间,Amazon上的注册开发人员达44万人,还有为数众多的企业级用户。

l  有第三方统计机构提供的数据显示,Amazon与云计算相关的业务收入已达1亿美元。云计算是Amazon增长最快的业务之一。

l  S3:S3的基础窗口是桶,桶是存放文件的容器。S3给每个桶和桶中每个文件分配一个URI地址,因此你可以通过http或者https协议进行访问。(认证、权限控制)

l  Google App Engine这种服务让开发人员可以编译基于Python的应用程序,并可免费使用谷歌的基础设施来进行托管(最高存储空间达500MB)。


l  对于超过此上限的存储空间,谷歌按“每CPU内核每小时”10至12美分及1GB空间15至18美分的标准进行收费。


 


网络服务


l  网络服务 WebService

•    提供API让开发者能够开发更多基于互联网的应用

•    Google Earth

•    Baidu Map

•    中移动的 FetionWeb Service


l  网络服务是一组组存在于互联网上的API,也就是一些具有URL的函数,给用户提供二次开发的能力



云计算服务的部署形式




 


  1. Google的云计算思路



隶属PaaS的Google云计算


Ø  属于部署在云端的应用执行环境

Ø  支持Python和Java两种语言

Ø  通过SDK调用Google的各种服务。如GoogleMap、Mail等

Ø  用户可快速、廉价(可免费使用限定的流量和存储)地部署自己开发的应用(如创新的网站、游戏等)


Ø     隶属SaaS的Google云计算



Google云计算平台技术架构


Ø  分布式文件系统Google Distributed File System

Ø  并行数据处理MapReduce

Ø  分布式锁 Chubby

Ø  结构化数据表BigTable



1.      注意,这里的GFS就是google file system.

也就是文件系统


和Windows下的NTFS,和linux下的FAT是一个意思.


 

2.      GFS就是google filesystem.是一个分布式的系统,比如内部把这个系统装到了很多机器上,但是对于外界来说,这个系统就是一个整体.

3.      从外部上看,是一个整体,但是从内部看的话,其实是安装在很多系统上的.

4.      MapReduce实际上是一种思想,比如和mvc相似.

MapReduce:例子:比如有一堆单词:

hello world credream

 good

nice

hello world

world


统计每个单词出现的次数


这里用MapReduce解决问题:

首先进行Map(分组),分析空格和回车,指的是一个单词.通过这些分解

Hello 1

World 1

Credream 1

Good 1

Nice 1

Hello 1

Worl 1

World 1


然后在通过Reduce(合并)


Hello 2

World 3

Credream 1

Good 1


Nice 1


另外一个例子:


1,4,6,2,99,3,23,54,23 55

找出这里最大的一个数字,当数据十分庞大的时候,就需要用MapReduce

用MapReduce处理的话会这样处理:

他会把1,4,6,2,,交给机器A

把99,3,23交给B处理

把,54,23 55交给机器C处理


然后把三个机器得到结果进行对比,然后得出结果99


这里MapReduce的思想就是,把问题细化,交给很多机器同时处理



BigSql数据库就是一种NoSQL数据库:

以前用的那些比如mysql等等,是关系型数据库

而这里是NoSQL数据库,也就是说NOT only SQL,不仅仅是sql语句



这里的取名和Linux=Linux isnot unix相似.



NoSQL数据库:是专门用来存储海量数据的.

这就是google的云计算的架构.


1.            GFS设计原则:

Ø 机器失效不能视为异常现象

Ø 能应付对大型/超大型文件处理

Ø 支持大量用户同时访问

2.            GFS组成-

Ø GFS集群:一个的Master和多个ChunkServer(块服务器)组成,并可以多客户端Client访问

Ø GFS设计要点

Ø 每个文件拆成若干个64M文件块Chunk组成

Ø 每个Chunk都由Master根据其创建时间指定ChunkHandle(64)

Ø 文件块被保存在ChunkServer本地磁盘


Ø缺省情况下3处热备份Chunk块文件


4.            Client职责

Ø 包含文件系统的API

Ø 负责和ChunkServer和Master通信

Ø 代表应用程序进行读写操作

Ø Client和Master进行元数据操作

Ø Client和ChunkServer进行文件数据操作

5.            Master职责

Ø 负责管理所有文件系统的元数据

Ø 元数据包括:命名空间,访问控制信息,文件到Chunk的映射信息等

Ø ChunkServer职责

Ø 负责存储chunk文件块


ØLinux文件系统


6.            采用中心服务器模式Master

Ø 可以方便地增加ChunkServer

Ø Master掌握系统内所有Chunk Server的情况,方便进行负载均衡

Ø 不存在元数据的一致性问题

Ø 不缓存数据

Ø 必要性:Client流式读取,非重复读写


Ø可行性:Master本身管理多个Server,很复杂



 


 

l   摩尔定律正在走向终结…

Ø 单芯片容纳晶体管的增加,对制造工艺提出要求

Ø CPU制造18nm技术,电子泄漏问题

Ø CPU主频已达3GHz时代,难以继续提高

ü  散热问题(发热太大,且难以驱散)

ü  功耗太高


l  摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)提出来的。其内容为:当价格不变时,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍。换言之,每一美元所能买到的电脑性能,将每隔18个月翻两倍以上。这一定律揭示了信息技术进步的速度。




单词计数 体现M/R算法

                           


推荐阅读
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了软件测试知识点之数据库压力测试方法小结相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • zuul 路由不生效_Zuul网关到底有何牛逼之处?竟然这么多人在用~
    作者:kosamino来源:cnblogs.comjing99p11696192.html哈喽,各位新来的小伙伴们,大家好& ... [详细]
  • 交换机配置:intg100unshintvlani1ipadd192.168.56.177qstelseuser-iv4authaaaproinsshupl3qsshuserpyt ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 2018深入java目标计划及学习内容
    本文介绍了作者在2018年的深入java目标计划,包括学习计划和工作中要用到的内容。作者计划学习的内容包括kafka、zookeeper、hbase、hdoop、spark、elasticsearch、solr、spring cloud、mysql、mybatis等。其中,作者对jvm的学习有一定了解,并计划通读《jvm》一书。此外,作者还提到了《HotSpot实战》和《高性能MySQL》等书籍。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
author-avatar
qyuyo0606
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有