2015-02-09 124 views
-3

我想在我的網站上實現聊天系統,用戶可以在聊天室互動。這是我第一次實施聊天系統。基於PHP文件系統的聊天系統的缺點

在搜索時,我發現phpFreeChat是一個不錯的選擇,但在進行介紹時我發現它根本不使用數據庫。所以我想知道,與任何基於數據庫的方法相比,它的性能如何,以及它的靈活性如何。

任何使用過的人都可以請一個觀點,我是否應該去phpFreeChat,以便我可以開始學習更多。該網站每月的訪問量大約爲300萬次。

+0

我不是實施聊天的專家,但有300萬用戶在數據庫聊天會對數據庫造成巨大的負擔。套接字將是一個很好的方法。或者一個IP聊天實現。 – 2015-02-09 13:11:03

+0

我根本不知道phpFreeChat,但是在發佈問題後的4分鐘內,我知道*默認情況下*它使用文件系統(可能用於可移植性),但它也可以與MySQL一起工作。 – GolezTrol 2015-02-09 13:11:49

回答

0

取決於你需要什麼 - 我的第一個聊天應用程序也是基於文件的,它是(現在仍然)非常快,但是定製和添加新功能是一件痛苦的事情。如果您只需要在沒有複雜功能的情況下進行快速聊天,則可以使用基於文件的方式如果您需要製作用戶權限和其他複雜的內容,請轉到基於數據庫的系統。

2

任何爲基礎的聊天系統(其中客戶端將不得不主動聯繫服務器要求更新)是非常耗費資源的。每個客戶都會每隔幾秒鐘提出一次請求;乘以客戶端的數量,您很快就會對您自己的服務器進行DDoS攻擊。

一個合適的系統應該是的基礎上,其中每個客戶端有一個持久連接到服務器,服務器能夠實時推送消息到所有相關方。這是完全可能的使用網絡套接字或長輪詢作爲後備。諸如WAMP之類的發佈/訂閱協議對於此用途來說是完美的,因爲更專用的協議如XMPP

寫入文件或數據庫是完全不必要的,並且只是用於數據持久性的輔助功能。服務器只需要是消息代理,不需要存儲。