From:开源小站

在Google App Engine做了几个东西。从当初觉得这个平台的迥然不同,直到现在逐步了解了这个平台的逻辑架构。作为Google的一款成功的作品,相信GAE的很多 东西将会陆陆续续被模仿和抄袭,直到真正影响到我们。本文就以我个人的理解,谈谈GAE将会给今后的网站架构带来哪些革命性的东西。

首当其冲的应该算是云技术,但这个技术总体上属于物理层的技术,况且云已经成为公认的技术趋势。这里主要是谈下网站的架构,云技术相对关系较为偏离,我也就不再探讨了。

BigTable数据库

一开始接触下来的GAE,最感觉不适应的就非它的“数据存储”技术。通常用惯了SQL,用了GAE觉得数据设计上很要有很大的转变。
GAE的“数据库”感觉就是一个巨大的List,每一条记录都是key-value的对应关系。当然起初是无法满足很多传统上的数据结构。不过如果你能够 在数据结构设计上打破SQL的限制,通过极端灵活的Key-value, key-value, key-value,你就能发觉这样的框架事实上比传统的SQL更适合网站。
说mysql比oracle在网站实现上的优势并非是因为它功能的强大,而是它速度快,结构简单。尽管有人戏称mysql“裸奔”,但无可否认的就是这种 “裸奔”的效果带来的 mysql的成功。GAE的数据库比mysql还要“裸奔”,但更快的响应将会是SQL永远无法企及的。FaceBook之前也抛弃了SQL亦证明了这一 点。

此外整站之间的数据复制也算是革新之一。

多通道的融合

GAE 整合了mail,xmpp,跨域验证等一系列的通道也算是特色之一,想必很多人会认为google这是在捆绑自己的产品。作为之前的门户网站的特色,每家 人都会有一个自己的邮箱,一个自己的聊天工具,以及一系列自己的产品捆绑在内。GAE的创新在于用户只需要一个自己的google帐户就可以实现捆绑所有 的gae服务。这是一个真正意义上的以用户为本。
Xmpp的捆绑还意味着EDM之后,将来IM营销或者类似的IM推送将会逐步成为一个产业。或者更进一步,IM机器人或者类似的技术将会一定程度上取代现有人人对话模式。当然,这需要一段时间,但至少个人认为目前大量的taobao网店需要这种技术^_^。

精巧的运维界面

相信GAE的后他大家也会印象深刻,能对每一个模块进行精确的监控,已经让运维的工作从翻阅日志的文本化提升到了图形化。粒度也更为精准,如果能配合Analytics之类的数据,完全可以实现智能化的运维。

RSS XML SOAP 网址抓取…

其实这也不算是什么革新,Web2.0时代的开始就是以此为标志的。但事实上单单从开发库中各个库的名称都叫API来看,就可以明白,其实整个GAE就是构建在这些基础之上的。SOAP成为了各个模块之间的粘合剂。
这个带来的优势就是,无需关心这个库那个库——好像本站技术性文档的大部分都是解决的“库问题”。各自统一接口,加速了开发的进程。