GAE、SAE与BAE的对比分析
本文主要从以下几个方面对GAE、SAE和BAE的优劣进行分析。
数据库
GAE 目前使用 Datasotre 存取数据,最近也提供了云 SQL(MySQL),但申请比较困难。此外,GAE免费提供给用户500M的存储空间和每个月500万次的访问流量,除了部署大型社交行网站(如人人,新浪微博等)不够之外,对于普通的web网站已足够。
SAE 不支持 InnoDB(可申请支持,但申请有点难度),BAE 默认支持。
BAE 不支持数据库连接池(c3p0、BoneCP 已测不支持),数据库连接不能长时间保持。
对于国内云而言,SAE 显式给出了主从库的访问方式,应用可以比较灵活地设计存取策略,例如读写分离。并且 SAE 是每个应用都拥有自己的数据库,而 BAE 是所有应用共用一个库。
应用配置
BAE 的 duapp-web.xml 基本是抄袭 GAE 的 appengine-web.xml,元素基本一致。
比较奇怪的是 BAE 静态资源配置默认所有后缀为静态文件类型(例如.html)的请求路径都默认假设为静态资源,需要在 duapp-web.xml 中指定排除。
综上,GAE的应用配置最完善,国内的SAE和BAE的应用配置由于开发时间短和技术不成熟而显得稚嫩。
计费与配额
GAE 目前的计费模型主要是按 API 调用计数,流量分为 In/Out 配额。每天会定时刷新免费配额