LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > 架构 >

evernote架构介绍

时间:2012-04-19 16:54来源:未知 编辑:admin 点击:
EVERNOTE 是一家美国的IT公司,目标让你记住所有的便条信息:把你的所见所想以便条的形式存下来,里面可以包含图片和手写信息,上传到网站上;用电脑和手机等各种各样的设备都可
EVERNOTE是一家美国的IT公司,目标让你记住所有的便条信息:把你的所见所想以便条的形式存下来,里面可以包含图片和手写信息,上传到网站上;用电脑和手机等各种各样的设备都可以访问这些信息;通过对标签、关键字甚至手写的文字信息进行搜索,能够快速地找到你想要的信息。

下面是这家公司的架构介绍。

一、网络部分

. 在加利福尼亚的两个数据中心托管设备,这个数据中心之间有一1G链路,用来备份数据,每天晚上备份一次
. 在其中一个数据中心租了单独的两个机笼,另一个数据中心的机架及机器情况没有说明
. 双链路,跑BGP
. 用户过来的流量首先经过防火墙,设备是Vyatta
. 用A10作https的负载均衡,以前老的设备在SSL方面的性能上不去。现在用了2台AX 2500,主备配置。接下打算测试N+1方式,为将来的增长做准备
. 负载均衡设备根椐url和cookie将不同的用户分到不的机器组上,这在后边的分片部分有说明
. 为用户提供https访问,入口是:https://www.evernote.com

二、硬件部分

. 用超微机器
. 前端机器用2个8核的Intel CPU,后台的图像处理用1个8核intel CPU
. 用DAS磁盘柜,装满希捷企业级硬盘,RAID1方式

三、系统

. 主要是Debian Linux,少量windows。计划撤掉所有的windows
. 前端机器上跑两个Xen虚拟机
. 程序是java结构:java6/tomcat/hibernate/ehcache/stripes/GWT
. 用puppet进行配置管理
. 监控软件是Zabbix/Opsview/AlertSite

四、分片策略

. 对用户访问与数据存储进行了分片处理。每个片负责10万用户,现有9百万用户大概分了90个片
. 每个片由两台超微机器和两台专用存储盘柜组成
. 片中两台机器通过DRBD复制数据,用Heartbeat进行故障切换
. 同一份数据分布在4块硬盘上,每台机器2块硬盘

五、用户数据库

. 用户信息很简单: 用户名/md5后的密码/所在的分片
. 用户信息放在mysql里,信息足够放在内存里
. 两台机器,同样用DRBD进行数据复制,Heartbeat进行切换

六、核心服务

. 图像处理,包括手写题识别等是公司的核心竞争力
. 由28台机器负责,流水线式处理
. 每天增加130~140万个图像
. 由专门的研发图队负责,有自行研发的技术,也买了商业合作伙伴的授权技术


原文链接:
Architectural Digest

转载请保留固定链接: https://linuxeye.com/architecture/356.html

------分隔线----------------------------
标签:架构evernote
栏目列表
推荐内容