Google App Engine的架构 part 2

本文探讨了Google App Engine的架构,特别是Java版本与Python版本之间的差异,以及本地Sandbox开发环境的作用。同时展望了未来可能的发展方向,包括新增API和服务支持。

zz http://feiibm.blog.sohu.com/124693385.html

 

Java版的Google App Engine

       根据我的推断,其实Java版和Python版唯一的确保就是在App Server端,其实模块应该区别不大,因为App Server上Java code对其他服务的调用都是通过上面提到Protocol Buffers这个平台无关的协议进行远程调用的,所以App Server上面的代码是不用关心Datastore,Memcache和Images等服务是不是用Java实现,只要它们起着,就能通过Protocol Buffers调。

本地Sandbox开发

     为了方便开发和调试,Google App Engine提供一个本地sandbox。

       通过下面这张图,我们大概能够明白Sandbox的环境和 Production的环境有什么不同了。唯一的不同就在于Implementation不一样。假设程序调用Datastore的服务,如果在Production的环境下,它会去调真实的Datastore服务,而在Sandbox的环境下,它则会调local stub,也就是一个基于文件的数据库程序。

 

                               图2  Google App Engine架构图2 (来源:2009 Google IO)

未来的Roadmap

1.       不断推出新的API,比如Task Queue和 XMPP。

     Task Queue一般用于离线操作,而XMPP有可能和Google Wave有关。

2.       新的语言(估计不可能)

     因为Google内部仅支持三种语言, C++, Java和Javascript,而且推出一个新的语言版本的话,是非常劳师动众的,毕竟Google App Engine的设计和Windows Azure的设计是完全不同的。所以短期我认为不大可能支持新的语言。

 

 

 

总结

     Google App Engine是Google大战略的一个不可分割的一部分,因为Google希望能通过Google App Engine来降低Web应用开发的难度,只要难度降低了,那么Web应用替代客户端应用的速度将会更快,如果出现这样的情况的话,那么将会对Google今后的发展非常有利。通过也希望国内兄弟们能尽快推出山寨版的。

参考资料

·      From Spark Plug to Drive Train: Life of an App Engine Request

http://code.google.com/events/io/sessions/FromSparkPlugToDriveTrain.html

·      Google AppEngine - A Second Look

http://highscalability.com/google-appengine-second-look

·       Google App Engine Blog

http://googleappengine.blogspot.com/

·         Bigtable: A Distributed Storage System for Structured Data

http://labs.google.com/papers/bigtable.html

·         The Google File System

http://labs.google.com/papers/gfs.html

·         Google发布新版本的Protocol Buffers

http://www.infoq.com/cn/news/2009/05/google-protocol-buffers


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值