Google App Engine

✍ dations ◷ 2025-10-24 14:16:35 #Google服务,云端运算,被防火长城封锁的网站,2008年面世

Google App Engine是一个开发、托管网络应用程序的平台,使用Google管理的数据中心。它在2008年4月发布了第一个beta版本。

Google App Engine使用了云计算技术。它跨越多个服务器和数据中心来虚拟化应用程序。

Google App Engine在用户使用一定的资源时是免费的。支付额外的费用可以获得应用程序所需的更多的存储空间、带宽或是CPU负载。

当前,Google App Engine支持的编程语言是Python、Java、PHP和Go(通过扩展,可以支持其他JVM语言,诸如Groovy、JRuby、Scala和Clojure)。支持Django、WebOb、PyYAML的有限版本。Google说它准备在未来支持更多的语言,Google App Engine也将会独立于某种语言。任何支持WSGI的使用CGI的Python框架可以使用。框架可以与开发出的应用程序一同上传,也可以上传使用Python编写的第三方库。

与其他可扩展的托管服务(例如Amazon EC2)比较,App Engine提供了更多基础服务来方便编写可扩展的应用程序,但仅限于App Engine设计框架以内的应用程序。

App Engine的基础服务省却了许多系统管理的操作,以便将规模扩大到数以百万计的访问。Google负责处理一组代码,可以监测、容错,在必要的时候还会开发一些应用实例。

有些应用程序托管服务让用户安装、配置几乎所有*NIX兼容的软件,而App Engine则要求开发者使用Python或Java语言来编程,而且只能使用一套限定的API。当前的API允许程序于一个BigTable非关系数据库上存储和检索数据、提出HTTP请求、发送E-mail、处理图像、还有缓存。大多数现存的Web应用程序,若未经修改,均不能直接在App Engine上运行,因为它们需要使用关系数据库。

带宽和CPU的使用、送达请求的数量、并发请求的数量、以及调用各种API的次数,皆设有每天和每分钟的限额。个别的请求,如果需时超过30秒或返回超过10MB的数据,都会被终止。

Google App Engine的Datastore使用一个与SQL类似的语言,叫做“GQL”。在GQL中,SELECT语句仅可以用于一个表。因为要跨越不只一台机器, GQL不支持效率很低的JOIN语句。欲创建一对多和多对多的关系,可使用ReferenceProperty()。采用这种无共享的方式,即使磁盘坏了,系统也不致瘫痪。

在GQL中,SELECT语句中的WHERE从句只容许对仅仅一列进行>、>=、<或<=比较。所以,仅仅可以构造简单的WHERE从句。在数据建模时,要从关系数据库转换到Datastore,开发者需要转变观念。

App Engine限制每次Datastore请求最多返回1000行数据。大多数Web应用程序,都不会受此影响,因为它们通常并不会在一张页面上列出超过1000条记录(可以用分页和缓存机制),只要按顺序返回结果就可以了。若有应用程序需要在一次操作中返回更多的记录,则需自行使用客户端软件或者Ajax页面,按查询顺序提取更多条记录。

这个Datastore的API是不关联的,有别于一般关系数据库——比如IBM DB2、Microsoft SQL Server、MySQL、Oracle数据库、或者PostgreSQL。

开发者担心App Engine应用程序不能移植到其他平台上,因而被困在单一种技术(Vendor lock-in)之内。

App Engine自SDK1.2.2版开始,已容许以批量的方式下载数据。此外,用户也可使用开源项目gaebar、approcket 和gawsh 来下载、备份在App Engine上的数据。

免费帐户使用App Engine时,受配额限制。应用程序作者可以视乎需要,付钱购买更多配额。

供免费使用的配额曾于2009年5月25日 、2009年6月22日以及2011年5月三度下调。

Google App Engine与Amazon Web Services(一个应用程序服务系统,支持在Amazon的服务器上托管文件、执行代码)直接竞争。不少科技分析师早在多年前已预计过,Google会加入这场竞赛。其中,Techdirt的出版人Mike Masnick写到,“Google终于了解到它需要霸占网络平台这个地位。我们可以期待,开发及落实易于扩展的网络应用程序会变得越来越容易,而应用程序也会越来越具创意。”

此外,红帽公司的 openshift、微软的Azure服务平台以及 Koding 也是Google App Engine的竞争对手。

由于Google App Engine允许用户托管网络应用程序,且服务器不在中华人民共和国境内,故有部分用户利用其搭建代理(如GoAgent)用于突破防火长城的审查,故Google App Engine的域名 *.appspot.com 的SSL加密连接长期遭到防火长城的封锁。

相关

  • 沃尔特·科恩沃尔特·科恩(英语:Walter Kohn,1923年3月9日-2016年4月19日)出生于奥地利维也纳,1998年与约翰·波普共同得到诺贝尔化学奖。科恩在密度泛函理论的发展中扮演了关键角色。1901年:范
  • 台东县台东县(俗字写作台东县;排湾语:Valangaw;台湾话: 臺東縣,白话字: Tâi-tang-koān,台罗: Tâi-tang-kuān),是中华民国台湾省的县,位于台湾本岛东南方,全县面积高居全国第三(仅次于花莲县
  • 蚕业蚕业是一种养殖蚕并利用蚕的蛹来纺织丝绸的养殖业。根据考古研究,公元前2700年就已经能发现蚕吐出来的丝绸,而养蚕文化可能在中国的仰韶文化时期就已经出现。而根据中国古代的
  • 安阳县安阳县是中国河南省安阳市下辖的一个县,位于河南省北缘,安阳市北部。安阳县南与汤阴县、鹤壁市毗邻,北与河北省磁县、临漳县、涉县隔河相望,西与林州市接壤,东与内黄县相连。全县
  • 自动驾驶自动驾驶(英语:Autopilot)是一种经由机械、电子仪器、液压系统、陀螺仪等,做出无人操控的自动化驾驶。常用在飞行器、船舰及部分的铁路列车。公路交通工具的自动驾驶仍在研究开
  • 厄立特里亚公民签证要求部分国家给予厄立特里亚护照持有者豁免签证或落地签证待遇, 厄立特里亚公民如欲入境这些国家,无需提前申请签证。安提瓜和巴布达 · 阿根廷 · 阿鲁巴 · 巴哈马 · 巴巴
  • 教宗庇护六世教宗庇护六世(拉丁语:Pius PP. VI;1717年12月25日-1799年8月29日)原名若望-安杰洛·布拉斯基(Giannangelo Braschi),于切塞纳出生。他于1775年2月15日当选罗马主教,同年2月22日即位至
  • 沙拉姆扎尔沙拉姆扎尔是伊朗的城市,位于该国西部札格罗斯山脉中部,由恰哈马哈勒-巴赫蒂亚里省负责管辖,处于首都德黑兰西南395公里,海拔高度2,034米,2006年人口7,003。
  • 郭德怀郭德怀(Kwee Tek Hoay;1886年7月31日-1951年7月4日)是一名印尼闽南裔华人马来语小说与戏剧作家、记者。郭德怀是Tjiam Kwee Hong和Tan Ay Nio夫妻的幺子。在求学前期,他因为无法
  • 玛姬丽塔·贝玛姬丽塔·贝(英语:Margherita Buy;1962年1月15日-),她是意大利的女演员,又被称作为影后,她主要知名作品有《我的母亲》、《他的秘密生活》、《5星级美好人生》及《不只是闺蜜》之电