谷歌应用引擎是什么

上传人:wt****50 文档编号:44581680 上传时间:2018-06-14 格式:PDF 页数:7 大小:198.84KB
返回 下载 相关 举报
谷歌应用引擎是什么_第1页
第1页 / 共7页
谷歌应用引擎是什么_第2页
第2页 / 共7页
谷歌应用引擎是什么_第3页
第3页 / 共7页
谷歌应用引擎是什么_第4页
第4页 / 共7页
谷歌应用引擎是什么_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《谷歌应用引擎是什么》由会员分享,可在线阅读,更多相关《谷歌应用引擎是什么(7页珍藏版)》请在金锄头文库上搜索。

1、 谷歌应用程序谷歌应用程序引擎引擎 (Google Application EGoogle Application Enginengine,GAEGAE)是什么是什么? 编者:华迪公司公共事业部售前工程师 虞超,2012年11月7日 资料来源:Google Application Engine,2012-oct-23 总述总述 谷歌App Engine可让你在Google的基础架构上运行的Web应用程序。 App Engine应用程 序易于构建,易于维护,易于随您的流量和数据存储需求的增长而扩展。使用App Engine, 无需维护服务器:您只需上传您的应用程序,它为你的用户提供服务。 您可从

2、您自己的域名(例如http:/ 的免费域名上提供服务。您可以与全世界分享您的应 用程序,或限制访问您的组织的成员。 谷歌App Engine支持几种编程语言编写的应用程序。使用App Engine的Java实时环境, 你可以使用标准的Java技术建立你的应用程序,包括JVM,Java Servlets和Java编程语言, 或使用基于JVM的解释器或编译器任何其他语言, 如JavaScript或Ruby。 App Engine还提供 了两个专用的Python实时环境, 每一个都包括一个快速Python解释器和Python标准库。 最后, App Engine还提供一个的Go运行环境,运行在本地编

3、译的Go代码。这些实时环境确保快速、 安全地运行您的应用程序,而且不干扰系统上的其他应用程序。 使用 App Engine, 您使用多少, 支付多少。没有初始设置成本, 也没有经常性费用(超 注:指电费、空调、房屋租金等等) 。您的应用程序使用的资源,如存储和带宽,以G字节计 量,收费很低。您可以控制您的应用程序可以使用的最大数量的资源,所以所消费的资源总 是在您的预算范围内。 开始使用App Engine的无需成本。 所有应用程序都可以使用完全免费的、 多达1 GB的存 储空间和足够的CPU和带宽,以支持高效的、能提供约500万的页面浏览量/月的服务。当您 为您的应用程序启用帐单, 您的免费

4、额度会提高, 你只需支付超过免费额度的资源使用费用。 应用环境应用环境 建立应用程序, 让它即使在很重计算负载和吞吐大量的数据情形下可靠地运行, 谷歌应 用程序引擎使这一切变得很容易。 App Engine包括以下功能: 动态Web服务,提供对常见的Web技术的全面支持 持久性存储,查询,排序和事务活动 自动缩放和负载平衡 API用于对用户进行身份验证和使用谷歌帐户发送电子邮件 一个功能完整的本地开发环境它在您的电脑上模拟谷歌应用程序引擎 1即,您的用户无需登录google,而是在您的主页上使用服务,而该服务部署在google app engine上面。 任务队列用于执行超出Web请求的范围之

5、外的工作 计划任务在指定的次数和时间间隔触发事件 您的应用程序可以运行在三种运行环境之一:Go环境,Java环境,Python环境(您可选 择Python 2.7或旧版Python 2.5) 。 每个环境都提供了标准的协议和Web应用程序开发的通用 共性技术。 沙箱沙箱 应用程序运行在一个安全的环境,对底层操作系统提供受限的访问。这些限制让App E ngine将针对应用的网络请求分布到多个服务器上,并能启动和停止服务器,以满足流量需 求。沙箱将您的应用程序隔离在它自己的独有的安全,可靠的环境中,这个环境与硬件、操 作系统和Web服务器的物理位置无关。 安全沙箱环境限制的例子,包括: 应用程序

6、只能通过在互联网上的其他计算机提供给外界的URL以使用URL抓取服务和使 用电子邮件服务。而其他计算机只能通过标准端口上的HTTP(HTTPS)请求的连接到应用程 序。 应用程序不能在实时环境中写入到任何文件系统。 应用程序可以读取文件, 但只能读取 应用程序代码上传的文件。 应用程序必须使用App Engine的 datastore, memcache或那些只 为服务请求之间持续存在的所有数据提供的服务。 Python 2.7环境允许bytecode被读取, 写 入和修改。 应用程序代码只在应答Web请求,已排队任务或已计划任务的情况下运行,而且必须在 60秒之内返回响应数据。请求处理程序不

7、能产生一个子进程或执行已发送的响应后的代码。 GoGo运行环境运行环境 App Engine的的Go运行环境提供了一个方便的途径来实现和部署Go编程语言编写的Web 应用程序 Go运行环境运行最新版本的GO 1。其SDK(软件开发包)包含了Go编译器和标准库,所 以它无需额外依赖。 象Java和Python环境一样,并非所有的标准库的功能都可以在沙箱中 使用。例如,试图打开一个网络套接字或写入到一个文件中,将返回一个os.EINVAL错误。 该SDK包括一个自动的build 服务来编译您的应用程序, 您再也不需要自己调用编译器。 而且,就象用Python SDK那样,无论何时您更改源代码,您的

8、应用程序将被自动rebuild。 这使你的编辑 - 编译 - 运行周期短得令人耳目一新,保持您的生产能力。 Go环境为大多数应用引擎服务提供特有的API,您可以与您的应用一起上传第三方库, 只要它们能在纯粹Go环境中应用。 JavaJava实时环境实时环境 你可以基于Java实时环境开发你的应用程序。 Java实时环境使用常见的Java Web开发工 具和API标准。您的应用程序与使用Java Servlet标准的实时环境进行交互,并可以使用通 用的Web应用程序的技术,例如 JavaServer Pages(JSP) 。 Java实时环境使用Java 6。 App Engine Java S

9、DK 支持使用Java 5 或Java 6 开发应用 程序。 实时环境包括Java SE Runtime Environment (JRE) 6平台及库。沙箱环境的限制也应 用于JVM,比如,试图打开一个网络套接字或写入文件的bytecode将产生实时exception。 您的应用使用Java标准API访问大多数App Engine服务。 对App Engine datastore而言, Java SDK包含Java Data Objects (JDO1F2)应用和Java Persistence API (JPA2F3) 接口。 Python Python 实时环境实时环境 使用App En

10、gine的Python 实时环境,你可使用Python语言实施你的应用程序,在一个 经过优化的Python解释器中运行。 App Engine包含丰富的Python API和工具,易于使用的 web应用框架, 以及数据管理和访问工具。 你也可利用大量成熟的库以及框架, 用于Python w eb应用开发,比如Django。 主要的Python 实时环境是 Python version 2.7.2,你也可使用Python 2.5.2 实时环 境。 Python 实时环境包括 Python标准库。当然,并非所有的库特性都能用于沙箱环境。调 用一个试图打开一个网络套接字或写入文件的方法将产生一个er

11、ror。 为Python 实时环境开发的代码只能为Python独家开发。不支持C语言写的扩展。 Python 实时环境为datastore,谷歌帐户,URL抓取服务,email服务提供丰富的Pytho n API。App Engine 提供被称为webapp2的,一个简单的Python web应用框架,使得构建应 用很容易。 您可以与您的应用一起上传第三方库, 只要它们能在纯粹Python环境中应用, 并且不依 赖任何Python实时环境不支持的标准库模块。 数据数据存储存储 App Engine环境提供存储数据的多种选项: App Engine Datastore 提供一个 NoSQL 的,

12、 无Schema的对象数据存储, 带有查询引擎 和原子事务(超注:就是基本事务) 2Java Data Objects(JDO)是Java平台的一项重要创新。是Java平台上的存储机制,这种办法对程序员来说既自然又方便。JDO中独到的核心思想是在尽可能不增加程序员额外工作的情况下提供一个面向Jav a的数据库存储机制。程序员不需要学习SQL,也不需要很麻烦地通过JDBC调用将数据从Java对象中复制到 数据库或从中读出,他们只需要按自然的想法使用Java类、属性和对象之间的引用,而不用写与之无关的 大量代码,那些代码会使人头晕脑胀。甚至对于查询来说,程序员也可以用Java的布尔表达式(即判断比

13、 较表达式)来代替SQL。换句话说,程序员只用写Java代码,而存储都是自动实现的。除了透明存储之外, 按JDO方式写的代码具有二进制兼容性,可以跨平台、跨数据库。JDO可以用于对象/关系数据库映射,这种 方式中会自动生成JDBC调用来自动地将Java对象和关系数据库中的数据对应起来。另外,JDO对象也可以直 接保存到文件中,达到与对象数据库一样的功能和性能。 3Java Persistence AP(JPA)可以说是java持久化技术的一个集大成者, 它吸取了Hiberante,JDO,TopLink等优秀技术和框架,将这几年发展成熟起来的基于POJO模型的O/R Mapping技术标准化,

14、成为在J2EE和 J2SE环境中通用的java持久化API。值得注意的是Java Persistence API并不是J2EE环境专用,而是在jav a中的通用API。意味着我们可以在任何需要访问关系数据库的地方使用JPA,甚至包括swing开发的桌面应 用。JPA也不要求一定在J2EE容器中才能运行,而是任何有JVM的环境都可以运用。 这就使得我们可以很容 易的把JPA作为一个持久化组件自由的和各种容器框架(EJB3容器, Spring等等)组合。 Google Cloud SQL 基于人们熟悉的 MySQL RDBMS (关系型数据库管理系统 ) , 为您的 A pp Engine 应用提

15、供一个关系型 SQL 数据库服务 Google Cloud Storage 为TB级的对象和文件提供存储服务通过Python 和 Java 访问。 DatastoreDatastore App Engine提供了分布式NoSQL数据存储服务,以查询引擎和查询事务为特色。正如分 布式Web服务器随你的流量增长, 分布式Datastore随您的数据增长而增长。 您可以选择两种 不同的数据存储方式(主/从Datastore) ,不同之处在于它们对于可用性和一致性的保证。 App Engine datastore 不同于传统的关系型数据库。数据对象,或称“实体” ,有一种 属性或是一个属性集。 基于给

16、定属性值设置过滤条件或排序条件查询可以取回给定属性的实 体。属性值可以是环境支持的任何数据类型。 Datastore中的实体,是无schema的。数据实体的结构由您的应用代码提供并保持强制 的数据类型。Java JDO/JPA接口以及Python的Datastore接口提供这种特色。您的应用程序 也可以直接访问Datastore,以应用其所需要的尽可能多或尽可能少的数据对象结构。 Datastore使用优化的并行控制,以提供符合ACID3F4性能的事务。实体的更新发生在这样 一种事务中如果其他进程同时试图更新同一实体, 这个事务以固定的次数被取回。 您的 应用程序可以在一次事务中执行多个Datastore操作,或是全成功,或是全失败,以保证您 数据的完整性。 Datastore使用“实体组”跨越分布式网络实施事务。一个事务使用在一个单独的实体 组里使用实体。为了高效执行事务,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号