目录

Evernote-的服务器架构

目录

Evernote 的服务器架构

最近几天开始用云笔记Evernote…也顺带了解一下Evernote服务器端的设计。

上有若干Evernote的CTO

Dave Engberg 撰写的文章做了阐述。可读性很强,可直接点开下面的原文链接阅读,这里就不赘述或翻译了。

Evernote服务器整体方案的描述:

http://hi.csdn.net/attachment/201202/28/0_1330442404Pwwz.gif

说是digest,其实说的很详细。一般的架构描述都侧重逻辑设计,物理部署方面都没说这么详细的。用了几个机房,机房间是什么样的链路,设备什么牌子型号的…很好。

Evernote的API选型:

一般使用Thrift是用于后端服务器与服务器之间的通信,Evernote不仅如此,客户端和服务器的通信也统一用Thrift。而Evernote三百多万活跃用户(2011年5月的数据),因此跑thrift代码最多的计算机可以算是装了Evernote的客户端了。

为什么使用MySQL,而不是使用NoSQL存储:

Evernote的有个区别于Facebook啊 twitter啊 IM等应用的显著特点是用户之间的独立性,没有交叉关系,每个人都只要读写自己的数据。这一点确实使Evernote的后端架构简洁很多。

Evernote的文本搜索实现:

http://hi.csdn.net/attachment/201203/1/0_1330585895g6K6.gif