为什么官网下载的wordpress直接部署到Gae和SAE上都不能使用?

SAE之流不能安装原生wordpress的直接原因是不支持写入。因为不支持写入,导致安装时的配置文件没法创建,运行时模板、数据的缓存文件没法生成。其他通用的应用程序不能运行也有类似的原因:像编辑模板这样的简单的操作也没法在SAE上做,因为模板通常以文件形式保存,编辑后模板无法写回文件导致无法保存。再以流行的smarty模板引擎为例,渲染模板时会先检查有没有模板缓存,如果没有就先创建,这也需要写入文件权限。至于常见的软件中内置的一键升级、应用商店、模板商店等功能也都因为无法创建文件而瘫痪。

如果要将原生程序移植到SAE上,需要做许多功能的删减,临时文件类(文件缓存)的需求,SAE提供了wrapper封装,可以通过改代码支持;但对于需要持久化存储的程序类文件需求即使改代码也无法支持,像应用商店、模板商店、一键升级、一键打补丁等功能都不行。内置商店这种功能是应用开发商的重要盈利渠道,不支持这些功能也让开发商们对开发SAE平台版本兴趣索然。反正我本人曾经雄心勃勃想兼容SAE平台,后来发现处处受限,解决问题会增加成本,却带不来收益,果断放弃。

=======================================================

不支持写入的坏处说完了,下面是给SAE官方的赠品:

我作为外行瞎猜不支持写入的技术原因,可能是分布式系统如果要支持写入,在文件同步、一致性、性能方面都面临一些挑战。

但根本原因还是产品经理对这个问题的严重性重视不够:技术方面有问题但并非不可解决。如果我是SAE的产品经理,我一定要支持文件写入,这一点不容妥协!但是在其他方面都可以做出一些让步,比如:写入可以慢一些没关系,一致性在极短时间内不能保证也没有关系,写入方式受限也没有关系。

我是这样想的:

像SAE这种互联网基础服务提供商打一个比方就像发电厂,他发明了一个新的电流传输技术,在价格等方面有一大堆优点。唯一一个缺点就是,入户电压是1000V的(打比方),导致用户所有现有的电器都不能直接用,如果要用,需要电器支持1000V的输入电压。有实力的工厂,可以专门改造设备使兼容接入,一般的普通用户就没有这么大的能力了,只能寄希望于电器厂商生产1000V版本的电器。而海尔、长虹们呢?不愿意专门开发这个版本,因为每个型号都多一个版本的话,在仓储、物流、营销、研发、售后、配件方面都带来额外的成本,但是1000V的用户又很少,即便开发了也不会带来太高的额外收益。所以呢,一直也没有重量级的厂商支持。偶尔有一些小厂发布了1000V版本、但用户担心一旦电厂倒闭,一屋子的1000V电器变成废铁,所以销售情况也很惨淡,后续更没有厂商愿意生产1000V版本。

门槛高所以用户少,用户少所以厂商少,厂商少所以用户更少,一个完美的死循环。

以上我虚构的1000V发电厂面临的困境就是SAE的现状,一言以蔽之:叫好不叫座。

要解决发电厂的困境很简单,简而言之:兼容!在入户时给用户赠送智能变压器、转换器、插排。这样用户原来的电视、电脑、电冰箱等不需要额外改装就能接入。如果未来有新的支持1000V的电器出现,通过专用插排也可以兼容。这样用户转换的成本就降低了,一夜之间所有家庭都成为1000V电的潜在用户。

要解决SAE困境也很简单:也是兼容!只要一兼容,潜在用户数一下子就多了几个数量级。否则,任你SAE优点再多,不能用,等于零。不兼容有两个致命的问题:

1 通用软件都无法直接使用:阉割版在功能、升级上都有先天缺陷,不堪大用。要用SAE几乎只能自己开发。这一条就将没有开发能力的许多小团队、个人创业者挡在门外了。

2 用户平台风险高:如果创业团队选择SAE作为服务商就意味着很大的风险。如果SAE如果在内容审核问题上有失误有可能整个业务都被停掉(这不是危言耸听,新浪读书就曾被停掉);还有一些创业团队被SAE主动封账号。不管哪一种原因,一旦有事因为系统不兼容(深度依赖SAE的服务),就算买了其他IDC的服务,系统仍然是无法运行的。只能等SAE恢复,或者紧急转系统至普通的服务器架构。

那么,如何兼容呢?

以文件写入为例,无非就是牺牲一些性能做同步工作,是完全可以做到的。考虑大多数程序都是读多写少,在写入时牺牲一点性能,对程序的整体性能的影响微乎其微。

再以MySQL为例,SAE的mysql连接时不需要什么用户名之类的,直接一new SaeMysql();就可以了。但为了兼容可以仍然接受传入参数,但不管传入什么仍以当前实例的固定账号完成数据库的连接,和正常的php连mysql一样。

另外,SAE强制以SVN方式的部署代码我猜测也是基于一致性的考虑,可以在保留SVN方式的基础上,增加一种FTP方式。

药方开出来了,具体实施就是技术问题了,新浪牛人一大堆,技术问题永远有办法解决。最终的目的是:

绝大多数网站,只要站长愿意,都可以一行代码不改平滑迁移至SAE平台;什么时候想换用其他平台,也可以无痛的平滑迁出,没有后顾之忧。

我表面上是SAE黑,其实是真爱,我说完了。

时间: 2024-07-30 12:06:00

为什么官网下载的wordpress直接部署到Gae和SAE上都不能使用?的相关文章

到微软官网下载Word剪贴画图片

  步骤一.打开Word,单击菜单栏的"插入"–>图片–>剪贴画; 步骤二.此时,右边会弹出个剪贴画任务窗格中,鼠标单击"Office网上剪辑",如下图中的红色区域; 步骤三.这时候会弹出微软官方的图片频道,进入后我们可以看到右边有很多"图像类别",选择自己想要的剪贴画类别,点击进入; 步骤四.进入后,我们可以在"搜索框"中输入自己想要的类型剪贴画,还可以选择左边的"媒体类别"和"图片

sql server 2012-sqlsever2012安装出现问题,我是在官网下载的,

问题描述 sqlsever2012安装出现问题,我是在官网下载的, 标题: Microsoft SQL Server 2012 安装程序 出现以下错误: 无法打开 Windows Installer 文件"V:x64setupsql_engine_core_inst_msisql_engine_core_inst.msi". Windows Installer 错误消息: 系统无法打开指定的设备或文件. . 单击"重试"将重试失败的操作,单击"取消&quo

官网下载sdk问题-为什么去官网下载sdk,找不到sdk下载链接了,全是Android Studio.

问题描述 为什么去官网下载sdk,找不到sdk下载链接了,全是Android Studio. 看视频,根据视频介绍的方法去下载sdk,结果却找不到sdk下载链接,全是Android Studio下载链接,由于是新手,怕用跟视频里不同的工具会导致学起来困难,也不知道这两个工具区别大不大.有人知道怎么下载sdk吗,只要一解压里面就会有三样东西的. 解决方案 这里有一个网站里面有所有版本的sdk和Android开发工具,希望对你有用(都是百度网盘下载):http://blog.csdn.net/daw

求一个nexus私服下载地址,官网下载不了,总是找不到路径

问题描述 求一个nexus私服下载地址,官网下载不了,总是找不到路径 http://www.sonatype.org/nexus/ 这个是私服下载的官网地址,但是点击下载的时候,就找不到链接了,哪个好心人有啊,求分享!谢谢

h.264-H.264视频编码,官网下载的JM源码,运行不成功

问题描述 H.264视频编码,官网下载的JM源码,运行不成功 在Jm官网上下载的JM源码,使用VC++ 6.0运行,在总是说,Cannot open configuration file encoder.cfg 请问怎么调试?

jdk-我在Java官网下载了一个Java,Java官网只提供JRE吗?,我没有在目录里找到JDK呢?

问题描述 我在Java官网下载了一个Java,Java官网只提供JRE吗?,我没有在目录里找到JDK呢? 解决方案 http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 找到对应的下载 解决方案二: 你下载的是JRE,里面不包含JDK的,需要下载JDK来安装.

sql server-sql2012版官网下载的求密钥

问题描述 sql2012版官网下载的求密钥 Microsoft? SQL Server? 2008 R2 SP2 - Express Edition版官网下载的求密钥,度娘很多都没成功... 日志文件:-------------------------- 2015-12-03 19:11:14.87 Server Authentication mode is MIXED. 2015-12-03 19:11:14.87 Server Logging SQL Server messages in f

android studio 2.0-Android Studio官网下载

问题描述 Android Studio官网下载 在官网点击这个之后,弹出下面这样: 点击同意 重定向到: 为什么没有下载呢? 解决方案 如何从android官网下载开发工具spring.net官网下载

mysql 数据库-mysql官网下载版本的选择

问题描述 mysql官网下载版本的选择 各位高手,我是初学者,看到官网的mysql有好多版本.我装的apache2.2..win7 64位 但是我要下载什么版本呢?能不能给一个链接哦....非常感谢 解决方案 http://cdn.mysql.com/Downloads/MySQLInstaller/mysql-installer-community-5.6.14.0.msi这个链接中的可以 或者http://dev.mysql.com/downloads/mysql/这个链接的好几个都可以 有