2015-03-08 53 views
1

我目前正在使用meteor.js構建社交網絡應用程序。目前我正在努力尋找爲我的用戶設計新聞推送的最佳方式。用戶可以相互關注並創建理論上應該發送給其追隨者的帖子。我提出了兩個理論上可行的概念。創建新聞Feed的概念

I.當用戶發佈帖子時,帖子進入全球數據庫,每個用戶都訂閱並收聽,並且無論何時添加帖子,用戶都會檢查父母是否跟隨父母的帖子,如果他們顯示在他們的新聞源。

  • 這種方式似乎非常低效,但它是一種方式。

二,另一種方式是讓每個用戶擁有自己的「集線器」,或者每個用戶只需訂閱並聽取用戶集線器中的更改。

  • 這種方式似乎更好,但我將不得不在啓動時進行for-loop並手動爲每個用戶訂閱。這可能會導致啓動時出現輕微延遲。

我在想,選項二將工作得最好,但我想知道如果任何人有任何建議如何完成此任務。或者,如果有一個標準的方式去解決這個問題。謝謝。

回答

0

看看reywood:publish-composite包。我在我的應用程序中做類似的事情,並且使用這個包實質上執行一個連接。在你的情況下,人跟隨着人,所以當創建一個返回一個人關注的用戶組的發佈時,你可以同時返回他們所有帖子的聯合。

+0

謝謝,這看起來正是我所需要的 – 2015-03-08 22:41:55

0

構建可伸縮飼料技術是一個相當難解決的問題。隨着流星,它更加困難,因爲MongoDB不適合存儲關係數據,因爲它是一個非關係數據庫,創建發佈「已連接」數據的發佈並不簡單。關於構建可擴展饋送技術的問題已經寫了很多文章,您是否看到我的article將Meteor與Stream結合使用來構建滿足您需求的解決方案?

另一種途徑是使用開源框架爲您的Feed技術創建後端。看看Stream-Framework,知識庫自述文件還有一個關於構建可伸縮饋送技術的資源列表。