事实是,您可以开发一个App Engine应用程序,该应用程序可以复制Facebook,Twitter或Tumblr的功能。并且假设该应用程序编写正确,它将可以扩展以支持数亿用户。您不希望这样做的主要原因(这似乎并不是您的考虑因素),原因是在App Engine上运行该大小的服务的成本。
HTTP请求/响应
- 最大请求大小:10 MB-错误,增加到32MB。
- 最大响应大小:10 MB-错误,增加到32MB。
-如果您开发的社交应用经常需要提供大于10MB的页面,那么您可能做错了。另外,如果您确实需要提供大于32MB的内容,则可以使用blobstore来存储最大2GB的文件。
- 您无法访问文件系统。(忘记将上传内容保存到文件系统)-错误。您可以从本地文件系统读取文件,还可以将文件上传和读取/写入blobstore。
-Facebook,Twitter或Tumblr不可能只接受用户上传并将其复制到文件夹。这不是问题。
- 所有请求必须在10分钟内响应,否则GAE会抛出DeadlineExceededException-错误。实际上是30秒。
-如果您需要30秒以上的时间才能将结果交付给用户,那么您可能做错了。
- 每个cron作业必须在30秒内执行-错误的是10分钟。
-如果不能将一个冗长的任务分成10分钟,则A:您可能做错了; B:您现在可以将该任务移到一个后端实例,该实例对请求没有时间限制。
-如果面向外部API的面向用户的请求花费的时间超过10秒,那么最好还是告诉用户重试。如果不是面向用户的请求,则可以自动重试该任务,直到API响应为止。
- 客户端无法通过FTP(仅HTTP和HTTPS)连接到GAE。-是的
-为什么这是个问题?您认为任何大型公司都通过FTP部署更改吗?
- 自定义域没有https。仅适用于your-app-id.appspot.com域。-是的
-虽然在路线图上。
- 如果有大量用户涌入,则会出现“超出配额”错误-一半为真。
-如果您合理地预算应用程序,您将永远不会看到超出配额的错误。皇家婚礼网站托管在App Engine上,每秒接收32,000个请求。没有超过配额的错误。另外,有没有在Twitter上看到过失败的鲸鱼,或在Tumblr上出现过容量错误?从本质上讲,这就是他们的超出配额错误。
数据库
- 本地开发中的数据库行为与实际服务器中的行为不同。-错误
-如果您的意思是在笔记本电脑上运行数据存储区的速度比在App Engine群集上运行数据存储区的速度慢,则为true,否则根本不为true。
-大多数开发人员使用db筛选器查询数据存储。另外,您同样可以说MySQL允许“ SQL。
- 没有查询可以检索1000条以上的记录(如果您希望让客户拥有一个“一键脱机,立即购买”按钮,这会很麻烦)-False。
-很久以前就取消了1000条记录的限制。此外,请向我显示Facebook,Twitter或Tumblr上任何需要1000多个记录才能呈现的面向用户的页面。
- 如果您需要线性访问大量记录以执行操作,那么您就不走运了(Google的系统已大规模集群化)
-我什至不知道你在这里得到什么。大多数人将Google大规模集群的速度视为该系统的巨大优势。
-这是一项功能。大多数大型网站都不做自己的文本搜索索引。
-App Engine开发人员需要将他们的思维方式从单个大规模多联接SQL查询更改为几个较小的单个查询,或者对数据进行非规范化,以便不需要联接。
- 慢(您必须了解如何使用继承来分离表,以便可以在表中进行搜索,获取键,然后获取其父键以避免反序列化性能)-???
-需要翻译/引用。
-单个应用程序中的索引数有限制。我只看到学术研究应用程序成功了。
- 一个实体在索引中最多可以具有5000个属性值-True
-因此,如果某人拥有5000个以上的朋友,那么他们将需要在friends组中两个实体。
__*__
保留格式的键名(以两个下划线开头和结尾),并且应用程序不应使用该键名。-是的
-但是呢?
- 密钥名称限制为500个字节(我想是UTF-8编码的)-True
-再说一次呢?键名不是用于存储中篇小说,而是用于唯一地标识实体。
语言
- python或java或Go(必须将其他任何语言翻译为这些语言)-一半为真
-实际上,您还可以运行在JVM上运行的任何语言,包括PHP和JRuby。尽管不确定为什么会产生问题,但是Python和Java是两种功能强大的语言,具有许多可用的工具,教程和经验丰富的程序员。
服务器问题
- 没有静态IP(调用第三方API的限制和配额问题)-一半为真
-大多数第三方API都知道App Engine和/或与Google有关系。Twitter几次不小心阻止了App Engine,并在几个小时内将其修复。
-如果您的Web应用程序确实需要3000多个代码文件,则可以使用zip导入(此外,您可能做错了)。
-App Engine是平台即服务。人们正在为购买操作系统或硬件而不必担心。这是App Engine的主要优势,而非限制性。