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

写入文件或数据库是完全不必要的,并且只是用于数据持久性的辅助功能。服务器只需要是消息代理,不需要存储。