2012-09-14 186 views
0

我想用node.js和:socket.io,cluster - modules/plugins製作chatroulette應用程序。Node.js聊天應用程序和羣集

所以我有主集羣誰只是創建幾個子集羣。 現在,每個子集羣都在同一個端口上有socket.io連接。但我應該在哪裏組合成所有套接字(用戶),在哪個子集羣?一些套接字位於一個羣集中,另一些套接字位於其他羣集中。

我可以同步通過此clusterhub所有socket.io連接: http://toolbox.no.de/packages/socket.io-clusterhub

因此,每個集羣有所有插座,但羣子插座應結合成對? 通常我需要在子集上做一些事情,並且需要訪問所有子集中的所有套接字。

回答

1

您需要將不同的socket.io實例與Message Queue或Socket.IO Store連接起來,以便它們彼此通信並將消息傳遞給其他實例。

Socket.IO已經有了Stores的概念,用於存儲連接,它是socket.io部署多個服務器和進程的答案。 Socket.IO帶有2個存儲區,內存存儲區將保存進程內的所有連接信息,以及一個RedisStore將同步所有連接的進程之間的所有信息。

請參閱​​(有關商店的部分)以獲取有關如何實現該功能的更多信息。

+0

socket.io-clusterhub插件做同步socket.io實例的東西,所以即時通訊將使用它,但怎麼樣我應該在哪些地方連接用戶成對?和其他主題,如果客戶端將消息發送到socket.io將每個socket.io實例得到它,然後將是雙重事件或三倍..等。 – ElSajko