到目前为至,你认为Google App Engine 的最大不足是什么?

2011-05-27 00:08:13 +08:00
 showwayer
7693 次点击
所在节点    Google App Engine
37 条回复
iandyh
2011-06-08 22:16:07 +08:00
@ayanamist 大量的写入可以用 Task Queue 来做。如果是 back-end 需求,现在也有新的服务提供了。 我觉得 Google 提供的 Transaction 已经很棒,ACID 都满足了。对于一个分布式的架构,能做到这点很牛逼。

你真的有 entity 达到每次 5 秒的写入频率?如果你的 app 一天使用 10 个小时,那也是而是万 PV 每天啊。即便有,Google 也有提供文档告之如何避免 Data contention 吧。
ayanamist
2011-06-08 23:22:40 +08:00
@iandyh 我是做GTalk机器人的,瞬发能达到每秒5次甚至更多。你真的应用过Task Queue吗?由于基于Datastore,所以一样会出现Timeout导致Task存储失败。Google的那个文档是扯淡的,潜在的鼓励你花钱去买他的服务。我已经用了一些很dirty的hack了。
Transaction也不靠谱的,在高写入情况下一样会有各种问题。我后台那里长长的各种诡异的Error就不截图了。你可以去看看我写的TwiTalkerPlus的代码,很多恶心的实现都是被逼的
ayanamist
2011-06-08 23:23:39 +08:00
@nttdocomo 他的意思是urlfetch不支持keepalive吧
iandyh
2011-06-08 23:52:10 +08:00
@ayanamist 我现在在用 Task Queue,做后台计算。

本身 Transaction 就无法应对高写入啊,你的例子需要用到 http://code.google.com/appengine/articles/scaling/contention.html 这篇文章用到的东西。
tioover
2011-06-08 23:57:01 +08:00
django版本太低了都懒得修改
phus
2011-06-09 09:36:41 +08:00
@ayanamist 同感同感,urlfetch的各种ApplicationError就已经很郁闷了,所以我搞goagent就没用Datastore。
xell
2011-06-09 09:53:17 +08:00
@phus 歪个楼,多谢你的 goagent,很好用。
fzcs
2011-06-09 09:53:20 +08:00
DataStore 的查询性能
fanzeyi
2011-06-09 09:57:44 +08:00
SDK不支持python2.7....

Fedora 15都换到 Python3.*了... 本来SDK在2.7都基本没法用... 到3.*根本没法想...

愁..
kojp
2011-06-09 10:53:12 +08:00
数据备份,导入导出!!!!!!!!!!!!!

我现在还不知道怎么备份~~~没有相应的好用的工具,自己写不来!!!
iwinux
2011-06-09 11:14:57 +08:00
我遇到的问题主要在文件上传方面(主要是图片):

1. 存储空间太少,500M不够用,又不是很想付费(付费还不如买VPS)
2. 没有靠谱的图片处理工具,(我被 Rails 的 Paperclip+Imagemagick 惯坏了……)

如果能把文件上传全交给 S3 的话(不想用 Google Storage),GAE其他问题都不大吧(我的应用规模很小)。

然后我想问一个问题,这里主要是付费用户还是免费用户?
@Livid @ayanamist @fzcs

@tioover GAE现在支持 1.2 的 Django 啊,按照官方文档提供的方法设置一下就好。
ayanamist
2011-06-09 11:55:32 +08:00
@iwinux 没信用卡的只能免费。你提的空间太小不算问题。这个需求只能付费,要不你就gzip一下然后消耗CPU吧。没有靠谱的图片处理确实是个大问题,也没有纯py的实现,gae的那几个太弱了,只能处理下头像都感到吃力
@fanzeyi 你这些都无所谓,生产环境里py25不算低,大部分py2的核心特性都已经支持了,DotCloud还不是py26。py27改变较大,很多模块都不能用了。另外sdk在py27可以用吧……你好像不熟悉py,py2和py3的区别都没搞明白吧
@phus 老大,你为啥不合并我的gzip?而是把那个无关紧要的异常处理给合并了……
@iandyh 用Transaction的一个好处是可以自动重试。我已经shard了,保持small entity做不到(本身已经很小了)。但就算是shard了还是不行啊。关键是应用级的shard一旦弄好,要修改就很麻烦。defer我就不说了。
phus
2011-06-09 12:16:32 +08:00
@ayanamist gzip的补丁我的理解是这样的,作用是goagent的local proxy在收到text/*这种数据的时候,先用gzip压一下再传给浏览器。如果理解无误的话,我的想法是,goagent是本机127.0.0.1回环端口监听的话,压缩和不压缩区别不大,可能会更耗时一点。
这个补丁在goagent作为局域网代理的好处和优势是非常明显的。但这个场景goagent不是很关注,因为goagent作为一个简陋的本机代理(比TwiTalkerPlus简陋很多),作为局域网代理实在不太胜任啊~~
ayanamist
2011-06-09 12:38:45 +08:00
@phus 我关注啊……我手机靠这玩意儿翻墙呢……我帮你维护可以么……
fanzeyi
2011-06-09 16:22:06 +08:00
@ayanamist 显然我是遇到不能用的我才这么说的
fanzeyi
2011-06-09 16:24:23 +08:00
@ayanamist 另外我很想知道你从何得来我对py2与py3的区别没搞明白的
yyfearth
2011-06-11 12:07:59 +08:00
gae还是没有ec2好使

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/13587

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX