2012-07-27 178 views
1

我正在創建一個社交網站,我需要一個IM /聊天解決方案。關於IM /聊天系統的社交網站網站的想法

對話只是一對一的,用戶只能與他們的朋友聊天(即Facebook聊天 - 沒有頻道,沒有房間...)。

該網站是在CodeIgniter(PHP)與MySQL數據庫。可能會被放在VPS(Linux)上,所以我可能會控制環境。此外,預計將有超過10萬名用戶。

所以,我需要一些關於如何進行聊天的想法。

我的想法而已:

  • 每X秒
  • 實現的Jabber/XMPP系統(我對此沒有任何信息,也不可能(對網站這種規模不能很好的解決方案)Ajax的民意調查)
  • 使用第三方服務(如Pusher.com
  • 創造Node.jssocket.io聊天,並讓它獨立於網站的其他部分

經過一番研究,並在這裏讀了一些答案在SO

https://stackoverflow.com/a/11362929/928540

https://stackoverflow.com/a/5654487/928540

我真的很喜歡去的Node.jssocket.io想法,所以我想聽到一些意見關於它,也許一些指導,鏈接,幫助,教程...

回答

0

Meteor migh t是你可以使用的解決方案。它旨在創建「實時」應用程序,我敢打賭,構建一對一消息系統是一件輕而易舉的事情。

我知道這不是PHP,但你提到使用Node.js,我想如果你可以使用Node.js,那麼你可以使用它。

+0

我認爲流星更適合原型... – Alfred 2012-07-27 22:25:10

1

此外,預計將有超過100個000用戶

我想這個問題也是有多少活躍用戶/連接。

Ajax每隔X秒輪詢一次(對於網站來說這個尺寸不是很好的解決方案)。

確實如此。這是一個壞主意。

實現的Jabber/XMPP系統(我對此沒有任何信息,也不可能)

喜歡的東西EjabberdBOSH是很受歡迎。我玩韻律因爲它很容易安裝和strophe.js作爲BOSH客戶端(JavaScript在瀏覽器中)。

使用第三方服務(如Pusher.com)

最容易實現的(不結垢問題),但可以得到昂貴。 5000個同時連接將花費您每月199美元(太貴),我認爲您可能需要?然後你又有大約5000個活動連接,所以它是有利可圖的(?)。

創造的Node.js和socket.io聊天,並從該網站

非常受歡迎的解決方案的另一部分有它獨立的 ,但現在我相信一些用戶遇到內存泄漏(但這可能已經解決)。這可能只是websockets transport的問題。也可能不是真的是泄漏,但只是high memory usage because of lazy GC。我會建議在完全投放之前進行配置。