Evernote 的服务器架构

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

Evernote的技术博客上有若干Evernote的CTODave Engberg撰写的文章做了阐述。可读性很强,可直接点开下面的原文链接阅读,这里就不赘述或翻译了。


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

http://blog.evernote.com/tech/2011/05/17/architectural-digest/

Evernote 的服务器架构_第1张图片

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


Evernote的API选型:

http://blog.evernote.com/tech/2011/05/26/evernote-and-thrift/

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


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

http://blog.evernote.com/tech/2012/02/23/whysql/

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


Evernote的文本搜索实现:

http://blog.evernote.com/tech/2011/08/25/lucene-explainin/

Evernote 的服务器架构_第2张图片


你可能感兴趣的:(evernote)