Micolog 作者徐明:再谈GAE

在这个时候,再谈GAE,或许有点不合时宜。

因为众所周知的原因,在我们伟大的党国,Google已经被当作“资本主义亡我之心不死”的大毒草,彻底的批滥批臭,灰溜溜的滚出了国门。

而Google旗下的app engine 作为其颠覆中国的工具之一,长期被有效的阻挡在长城之外!

什么是糖衣炮弹,这就是糖衣炮弹,谷歌提供免费的服务,其别有用心之情形昭然若揭。

今天,我们只谈技术,莫谈国是。

其实,最近一直很"忙",也有一段时间没有关注GAE了,今天又重新审视了一遍,发现依然有了一些新的变化。下面,就我个人的一些见解,和大家探讨一下。

目前,GAE的最新版本是1.4.3,距离我上次关注,已经提升了2个小点,从版本的变化看,应该没有特别大的架构上的变动,更多的是一些功能上的提升。(注意:本文只描述1.4.0版本以后的Python版本的变化,java版本的变化不在本人关注范围之内)

Webapp Framework开始支持django1.2

django0.96确实太老了,现在gae终于开始支持django1.2,虽然django的模板系统并不是十分的高效,但作为GAE原生支持的框架,能与时俱进,更新版本,对我们来说还是不错的消息。而且据说,以后1.2版本,将成为默认的版本,所以,该升就升,该改就改吧!

micolog目前尚不支持django 1.2.5版本,想要升级的同学可以参考这篇文章 Micolog升级默认0.96版本Django至Django1.2

数据服务更加高效

  • 在创建应用程序时,可以选择使用: High Replication 或者 Master/Slave.方式,关于这两种方式,我曾经写过一篇博文 GAE新特性-高性能数据存储 (Python) 。Google 的官方文档中,对这两种方式进行了深入的对比。从对比结果,我们可以发现,使用high Replication方式,需要占用更多的存储空间和cpu时间,但并不能带来性能的提升,唯一的好处是能够保证数据的完整性。所以,对于我们并发数并不高的一样,实在是没有必要使用。而目前,Master/Slave还是默认的数据存储方式,我们只能在创建应用程序的时候选择存储方式,一经选择,就
    不能再修改。
     
  • 提供了数据在不同应用之间迁移的功能
    你可以在管理后台,使用Datastore Admin选项也,进行数据的复制或删除。数据复制功能可以在同一用户的不同应用之间进行,这为我们备份或迁移数据提供了一个思路,比如说,对于Micolog的升级,我们可以创建一个新的应用,然后把旧的Micolog数据,通过数据复制功能,复制到新的应用中去。
  • 支持元数据查询 
    可以用来从数据存储中检索,命名空间(namespaces), (类型)kinds, (属性) properties,有了这些Api,我们就可以创建自己的管理后台了。不过要注意的是,元数据查询,会比普通的查询消耗更多的资源,所以嘛,好像也没什么必要使用。不过,在某些特殊情况下,这个东东还是很有用的。
  • 可以将数据存储设置为只读模式
    在这种模式下,任何对数据写的要求,都会触发异常。设置为只读模式,可以帮助我们在迁移或合并数据时,保证数据的一致性! 

服务功能的增强

  • UrlFecth的后台抓取超时时间扩大到了10分钟,这样一来,能够抓取很大的数据包了。
  • Task queue允许每秒钟执行100个任务,并且支持用程序来删除队列。
  • Images API增加了quality参数,可以在做图像处理时指定图像质量
  • cron job 允许指定开始和结束时间
  • Prospective Search API: 允许Python使用者在写入数据时进行检测,一旦符合特定条件时便加以处理.可以参考一下这篇文章:http://www.keakon.net/2011/03/31/GAE%20SDK%201.4.3%E7%89%88%E5%8F%91%E5%B8%83
  • Testbed Unit Test Framework: Python 测试套件,为在整合测试中使用App Engine API 提供一个简单的接口。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。