现在的位置: 首页 > 综合 > 正文

闭关纪要17.Google app engine的简单应用

2012年03月12日 ⁄ 综合 ⁄ 共 2095字 ⁄ 字号 评论关闭

        在上面用了十一篇博客的文章详细的介绍了,Step1账户登录系统之后,从现在开始,继续写闭关纪要,因为Step1账户登录系统也是闭关工作的一部分,因此保留序号,这篇纪要在上次的闭关纪要5.WML,UTF-8,BOM,签名及其他,之后,直接将序号更新为17,从这一篇开始,简单的介绍我最近对Google App Engine(GAE)

        毫无疑问,Google推出GAE是一个大好的消息,至少我不怎么听说什么网站能够无条件免费的提供机器和带宽,让你的程序来运行,而且,还不附加广告。由于是Google提供的服务,稳定性、关注度、文档什么的都不会是大的问题,所以这个事情可定少不了我去凑热闹的。

        当然,GAE的使用时有一些问题的,对于为什么独独在国内使用会有问题,这个原因我假装不知道,然后一步一步的克服困难,让我的Appspot程正常的运行起来。

        首先说说我用GAE来做些什么的?实际上,我现在有两个主机空间(Step1.cn和Dituren.cn),大部分情况下,似乎没有必要去使用GAE,可是我是对新鲜的东西很感冒的人,一定要想方设法给自己找一个理由来使用GAE上,GAE对我是有好处的,首先是我能够将网站上一些比较耗费性能的后台转移到GAE,因为没有必要对Google的运行能力进行怀疑,这样的话,就可以将我的网站服务器解放出来,我的理想是以后我的Asp.net的服务器仅仅用来生成页面,而其他的东西都可以渐渐的转移由Appspot来完成。

        因为我对Pathon语法并不是很熟,而其他的一些问题在code.google.com简单的介绍我的一些研究心得和遇到的问题,提供给和我一样的初学者参考。

        申请使用Appspot虑的是将自己的域名解析过去,要不然,只能使用***.appspot.com的域名,是我不能接受的,而且我必须将网站架构在同一个顶级域下,这样我才可能通过设置document.domain来通过Ajax访问appspot上的服务。

        关于这个问题,因为可以搜索到很多解决方案,我只是在这里给出简单的步骤提示:

        1.到http://appengine.google.com/申请即可,如果发现这个网址不能访问,在搜索引擎上去找一个hosts的设置,将这个域名指向到特定的IP就可以了

        2.首先拿着你的域名去http://www.google.com/a/,申请一个Google Apps服务,如果你是.cn的域名,申请的时候会提示不支持,不管没有关系,据说用大写的.CN就可以了

        3.在Google Apps的管理界面里面添加服务,输入你的appengine的ID,Google会提供给你一个相关的域名设置的提示,按照这个方式设置,不过假如设置了发现还是不能访问,那就到搜索引擎里面去找其他的解决方案,通常会得到另一个山寨版的DNS的转向地址,使用这个地址应该是比官方提供的更好用。

        经过以上的三个过程,你的GAE空间已经开始运行,不过还没有上传程序上去呢,Google的GAE的程序目前只支持Python语法(我因为这个 最近正在恶补Python,尚无进益),上传程序的方式也是采用Python脚本来上传的,一方面因为这个过程我觉得比较麻烦,另一方面Google提供了比较详细的说明,因此,我不对这个过程进行介绍了。

        需要说说的是数据上传,因为GAE不支持访问SQL Server什么的数据库,也不支持文件读写,如果你有数据,基本上就只能考虑上传到GData结构里面去,说老实话,用惯了Sql Server,觉得这个GData那是相当的难用,查询的时候语法简单,不支持联合查询,查询结果条数有限制……

        这些也就罢了,最郁闷是数据导入到GData,用惯了“企业管理器”,这个GData的数据导入实在是太费劲了,我开始准备用一个大文本Post发送给一个页面,页面在文本之中解析数据并保存,不过后来发现Google对脚本执行时间有比较严格的要求,基本上很快就挂了,而且,Google不支持直接查询数据的数目,给验证数据功能造成了很大的困扰,我研究了好久,后来才发现原来Google有一个工具叫“bulk data uploader”,就是用来做这个的,将自己的数据导出成CSV,然后按照bulk data uploader的过程,将数据发送到服务端,实际上实现的原理也是一样,不过每次只发送10条数据。

        这个工具我现在还没有研究的太清楚,也就不再这里做什么说明了,至少我要研究清楚如何将中文汉字的数据上传上去,这是我正在研究的问题,研究清楚之后,我可能会另写一篇来介绍,因为这一点现在似乎没有找到相关的中文介绍;

        GAE只适合为你的网站提供锦上添花的功能,而不适合将网站的核心由GAE来承担,一方面开发比较费劲,一方面说不定什么时候就不能运行了,这一点不得不防,我仅仅将网站上的一些附加功能服务迁移到了GAE上面;

        微恙,写出来的文章也比较乱,我自己都觉得不知所云了,哈哈!

抱歉!评论已关闭.