簡體   English   中英

使用mongodb作為存儲的Node.js集群和socket.io

[英]Node.js cluster and socket.io with mongodb as store

我不是在不是基於Redis而是基於MongoDB的情況下,使用socket.io存儲來設置集群的node.js / socket.io應用程序時遇到問題。 我需要提到的是,我的應用程序使用Mongo來存儲數據。 因此,我不想設置另一個數據庫只是為了使soket.io跨多個進程工作。

我找到了一個選項-mong.socket.io ,但是看來我無法在節點集群上使用它。 我正在使用node:0.10.10socket.io:0.9
我正在尋找可讓我將MongoDB用作在單獨的進程上運行的socket.io的存儲的任何解決方案。

指望您,謝謝。

任何集群工作者都可以使用mongodb或mongoose輕松訪問MongoDB,以獲取所需數據。 它也可以將該數據本地存儲為緩存。
連接socket.io客戶端后,它將綁定到一個worker,並且在執行期間不會交換worker。
為了共享會話,您需要為socket.io創建會話中間件,該中間件將從其中一名工作人員的MongoDB中請求會話詳細信息。 檢查答案,它說明了如何從共享會話詳細信息訪問socket.io中的會話數據。 為了使其成為集群,可以使用connect-mongo而不是MemoryStorage來將會話數據存儲在mongo中,並且可以使會話詳細信息在工作人員之間共享。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM