下面是这家公司的架构介绍。 一、网络部分 . 在加利福尼亚的两个数据中心托管设备,这个数据中心之间有一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 |