2010-11-15 61 views
1

只是想知道你們如何使用nosql(如redis)來做一個像聚合器一樣的簡單facebook。聚合像Facebook的簡介飼料

基本上你有很多配置文件,每個配置文件都有自己的提要。每當用戶請求聚合時,系統就會獲取所有這些配置文件,處理它們(並對它們進行分組),然後顯示給用戶。這種方法存在的問題是,當有人擁有1000個朋友時,系統將不得不提取1000個提要(無論是否有更新),然後處理它們。

你們會怎麼做?

回答

0

顯然,如果您無法實時更新更新,則需要在用戶要求更新之前完成更新 - 基本上,您有一個所有已知提要的列表並定期檢查更新,可能基於每個Feed的更新頻率。當用戶請求聚合時,您只需要返回已有的數據。

確保數據合理更新有點棘手。如果你是谷歌,你可以每隔幾分鐘檢查整個互聯網 - 對大多數人來說不是一種選擇。但是,通過智能更新調度和使用實時apis的組合,您可以獲得相當接近實時的時間。對於類似的工作,我在基礎架構上工作的是一個數據存儲,它包含所有帖子和一些可以從特定類型的提要中提取數據並將這些帖子以通用格式添加到數據存儲的進程。