我們如何在mongodb中使用mongoose實現Facebook狀態消息系統,每當任何給定用戶發佈自己的狀態時,都會在他的所有朋友時間線上進行廣播。在mongodb中實現facebook風格的狀態消息系統
它不一定是實時的,會有一個刷新按鈕來獲取最新的狀態。
這裏是我想出了:
計劃A:
status(collection)
id, user_id(reference), status_msg
好處:更快的寫入速度
B計劃:
status(collection)
id, user_id(reference), status_msg, friends_list[sub-document]
是nefit:更快的閱讀速度
隨着計劃A,我將不得不遍歷用戶在他的朋友列表中的所有朋友,然後獲取所有的狀態。 我必須爲每個朋友每次都做一次(頁面刷新/新登錄)。
對於計劃B,我只需要獲取friends_list中當前用戶的狀態。
我想知道您的意見和建議嗎?
有沒有更好的方法來解決這個問題?
我還想知道如何在這裏使用rabbitMQ來提高效率並降低不必要的數據庫I/O。