标签:Lucene style blog http io color ar os 使用
虽然最近业绩有所下滑,也出现了一些技术故障,但Digg作为首屈一指的社会化新闻网站,其背后的技术还是值得一探,Digg工程师 Dave Beckett 在今年4月份写一篇名为《How Digg is Built》的文章,非常系统地将Digg背后的技术展现给大家,非常值得一看。
一、Digg提供的服务
二、Digg 的核心功能
三、Digg功能的背后的实现
首先我们看一个流程图,描述了普通用户在使用Digg其间Digg的具体模块运作:
点击可查看大图
其实这中间的操作包括了两部分:同步和异步
这两部分在Digg中的应用方式可以用下面这张图描述:
点击可查看大图
上面是总体概述,下面一部分我们会深入Digg的各个功能部件进行深入研究。
1.在线web系统
提供Web页面服务及API服务的部分组成如下:PHP作前端语言构建的CMS系统,Python构建的API服务器,它们运行在 Tornado 上。它们通过 Thrift 协议与主存储层进行交互,很多数据会被如Memcached 和Redis 这样的内存缓存系统缓存。
2.消息系统
Digg 使用RabbitMQ 作队列系统,将不用同步响应的操作放到队列异步地进行。
3.批量异步处理系统
上面的消息系统是指队列,而这个指的是具体从队列取出任务执行的部分。此系统将任务从队列中取出,进行一定的计算后再对主存储进行操作,对主存储的操作在实时系统和异步批量系统中都是一样的。
4.数据存储层
数据存储层Digg使用了多个产品来完成各种不同的任务,具体列表如下:
5.操作系统及配置
Digg runs on Debian stable based GNU/Linux servers which we configure with Clusto,Puppet and using a configuration system over Zookeeper.
标签:Lucene style blog http io color ar os 使用
原文地址:http://www.cnblogs.com/WeiGe/p/4104214.html