亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3991 | 回復(fù): 1
打印 上一主題 下一主題

How Digg is Built:講述Digg背后的技術(shù) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-02-16 19:40 |只看該作者 |倒序?yàn)g覽
How Digg is Built:講述Digg背后的技術(shù)








雖然最近業(yè)績有所下滑,也出現(xiàn)了一些技術(shù)故障,但Digg作為首屈一指的社會化新聞網(wǎng)站,其背后的技術(shù)還是值得一探,最近Digg工程師 Dave Beckett 的一篇名為《How Digg is Built》的文章,非常系統(tǒng)地將Digg背后的技術(shù)展現(xiàn)給大家,非常值得一看。NoSQLFan 簡要翻譯如下:

一、Digg提供的服務(wù)
•一個(gè)社會化的新聞網(wǎng)站
•對個(gè)人來說它又是一個(gè)私人社會化新聞發(fā)布平臺
•一個(gè)廣告平臺
•一個(gè)開放API的平臺
•博客及文檔系統(tǒng)
二、Digg 的核心功能
•文章提交功能 – 提交你認(rèn)為有價(jià)值的新聞
•文章列表功能 – 將用戶提交的新聞做各種不同緯度的列表(個(gè)人新聞,最近發(fā)布等)
•對文章的操作 – 用戶可以對文章進(jìn)行各種操作,包括閱讀、點(diǎn)擊、digg、評論、為評論評分等等
•置頂文章功能 – Digg會定時(shí)將一些熱門的文章置頂?shù)紻igg首頁,從頁讓更多人能夠看到
三、Digg功能的背后的實(shí)現(xiàn)
首先我們看一個(gè)流程圖,描述了普通用戶在使用Digg其間Digg的具體模塊運(yùn)作:



其實(shí)這中間的操作包括了兩部分:同步和異步

•對用戶進(jìn)行即時(shí)響應(yīng)的同步操作:同步操作主要表示對用戶請求(包括API請求)的即時(shí)快速響應(yīng),包括一些在頁面中通過AJAX方式進(jìn)行的異步請求。這些操作通常要求最長一兩秒的時(shí)間內(nèi)就能完成。
•離線批量進(jìn)行的異步計(jì)算:除了實(shí)時(shí)響應(yīng)的請求外,有時(shí)候還需要進(jìn)行一些批量的計(jì)算任務(wù),這些任務(wù)可能是間接的被用戶啟動的,但用戶不會等待這些任務(wù)的完成。這些異步計(jì)算通?赡軙ㄙM(fèi)數(shù)秒,數(shù)分鐘甚至幾小時(shí)。
這兩部分在Digg中的應(yīng)用方式可以用下面這張圖描述:



上面是總體概述,下面一部分我們會深入Digg的各個(gè)功能部件進(jìn)行深入研究。

1.在線web系統(tǒng)

提供Web頁面服務(wù)及API服務(wù)的部分組成如下:PHP作前端語言構(gòu)建的CMS系統(tǒng),Python構(gòu)建的API服務(wù)器,它們運(yùn)行在 Tornado 上。它們通過 Thrift 協(xié)議與主存儲層進(jìn)行交互,很多數(shù)據(jù)會被如Memcached 和Redis 這樣的內(nèi)存緩存系統(tǒng)緩存。

2.消息系統(tǒng)

Digg 使用RabbitMQ 作隊(duì)列系統(tǒng),將不用同步響應(yīng)的操作放到隊(duì)列異步地進(jìn)行。

3.批量異步處理系統(tǒng)

上面的消息系統(tǒng)是指隊(duì)列,而這個(gè)指的是具體從隊(duì)列取出任務(wù)執(zhí)行的部分。此系統(tǒng)將任務(wù)從隊(duì)列中取出,進(jìn)行一定的計(jì)算后再對主存儲進(jìn)行操作,對主存儲的操作在實(shí)時(shí)系統(tǒng)和異步批量系統(tǒng)中都是一樣的。

4.數(shù)據(jù)存儲層

數(shù)據(jù)存儲層Digg使用了多個(gè)產(chǎn)品來完成各種不同的任務(wù),具體列表如下:

•Cassandra:對諸如文章、用戶、Digg操作記錄等 “Object-like” 的信息,都是使用Cassandra來存儲的。我們使用的是Cassandra0.6版本,由于0.6版本并沒有劫持二級索引,于是我們將數(shù)據(jù)通過應(yīng)用層處理后再用它進(jìn)行存儲。比如我們的用戶數(shù)據(jù)層提供通過用戶名及Email地址來查詢用戶信息的接口。
•HDFS:主要用到日志信息存儲及分析計(jì)算,利用Hive 操作 Hadoop,進(jìn)行MapReduce計(jì)算。
•MogileFS:是一個(gè)分布式文件存儲系統(tǒng),用以存儲二進(jìn)制的文件,比如用戶頭像,截屏圖片等。當(dāng)然,文件存儲的上層還有統(tǒng)一的CDN。
•MySQL:目前我們的文章置頂功能上使用了MySQL存儲一些數(shù)據(jù),因?yàn)檫@一功能需要大量的JOIN操作。與此同時(shí) HBase 好像也是個(gè)不錯的考慮。
•Redis:由于Redis 的高性能及其靈活的數(shù)據(jù)結(jié)構(gòu),我們用它來提供對 Digg Streaming API 的存儲,同時(shí)我們還用Redis 來構(gòu)建實(shí)時(shí)瀏覽和點(diǎn)擊計(jì)數(shù)器。
•SOLR:用來構(gòu)建全文索引系統(tǒng)。以提供對文章內(nèi)容、話題等的全文檢索。
•Scribe:日志收集系統(tǒng),比syslog-ng更強(qiáng)大更簡單。用它收集的日志會被放到HDFS進(jìn)行分析計(jì)算。
5.操作系統(tǒng)及配置

Digg runs on Debian stable based GNU/Linux servers which we configure with Clusto, Puppet and using a configuration system over Zookeeper.

原文鏈接:http://about.digg.com/blog/how-digg-is-built

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-02-17 22:30 |只看該作者
謝謝分享
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP