四个月前,有一个想法,准备借助GAE实现一下(参见:准备启动一个开源项目 - 技术族谱 - 先期利用Goolge云计算平台),这几个月,断断续续的看着,做了一些实验,发现 Google 的云计算并没有我一开始想象的那么美好,有诸多限制,目前碰到的比较影响使用的几个如下:

1、云计算就是一个sandbox,所以有诸多限制,比如无法自己起线程,无法开侦听socket。JVM的类只能使用白名单里的,很多第三方框架不能使用,等等…。

2、底层的存储,不是基于传统的关系数据库,而是一个Object Oriented Database,底层肯定使用了Google的Bigtable技术,分布式。这个存储的好处是检索很快,但同时有大量的限制:

a)存数据的速度相对较慢。

b)基本上没有维护工具(有一个Admin Consle,聊胜于无),所以对存储的维护很费劲。

c)没有一个简单的办法删除所有的数据,也就是缺少类似于truncate或者drop table这样的功能。

d)对Transaction的限制很多,一个交易只能对属于同一个Entity Group的对象进行操作,在GAE中,Entity Group意味着对象之间有父子关系,个人感觉这是一个很强的约束。

e)查询返回的记录个数有上限。

 

3、基于WEB的Admin Console跟踪程序日志很不方便

4、本地的模拟环境和实际部署后的环境常有差异,导致本地测试通过的程序放上去不能用。

暂时就这些,牢骚一下,还得接着研究。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐