热门标签 | 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算法

                           


推荐阅读
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • CentOS 7环境下Jenkins的安装与前后端应用部署详解
    CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 深入解析Struts、Spring与Hibernate三大框架的面试要点与技巧 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 本文详细探讨了几种常用的Java后端开发框架组合及其具体应用场景。通过对比分析Spring Boot、MyBatis、Hibernate等框架的特点和优势,结合实际项目需求,为开发者提供了选择合适框架组合的参考依据。同时,文章还介绍了这些框架在微服务架构中的应用,帮助读者更好地理解和运用这些技术。 ... [详细]
  • 本文探讨了 Kafka 集群的高效部署与优化策略。首先介绍了 Kafka 的下载与安装步骤,包括从官方网站获取最新版本的压缩包并进行解压。随后详细讨论了集群配置的最佳实践,涵盖节点选择、网络优化和性能调优等方面,旨在提升系统的稳定性和处理能力。此外,还提供了常见的故障排查方法和监控方案,帮助运维人员更好地管理和维护 Kafka 集群。 ... [详细]
  • 本文介绍了如何在iOS平台上使用GLSL着色器将YV12格式的视频帧数据转换为RGB格式,并展示了转换后的图像效果。通过详细的技术实现步骤和代码示例,读者可以轻松掌握这一过程,适用于需要进行视频处理的应用开发。 ... [详细]
  • 本文探讨了Android系统中支持的图像格式及其在不同版本中的兼容性问题,重点涵盖了存储、HTTP传输、相机功能以及SparseArray的应用。文章详细分析了从Android 10 (API 29) 到Android 11 的存储规范变化,并讨论了这些变化对图像处理的影响。此外,还介绍了如何通过系统升级和代码优化来解决版本兼容性问题,以确保应用程序在不同Android版本中稳定运行。 ... [详细]
  • 理解和应用HTTP请求中的转发与重定向机制
    在HTTP请求处理过程中,客户端发送请求(通常简称为req),服务器进行相应处理后返回响应(通常简称为res)。理解和应用客户端的转发与重定向机制是前端开发的重要内容。这两种机制在Web开发中具有关键作用,能够有效管理和优化用户请求的处理流程。转发机制允许服务器内部将请求传递给另一个资源,而重定向则指示客户端向新的URL发起新的请求,从而实现页面跳转或资源更新。掌握这些技术有助于提升应用的性能和用户体验。 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • 本文作为探讨PHP依赖注入容器系列文章的开篇,将首先通过具体示例详细阐述依赖注入的基本概念及其重要性,为后续深入解析容器的实现奠定基础。 ... [详细]
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社区 版权所有