我想在我的网站上实现聊天系统,用户可以在房间内互相交流。这是我第一次实施聊天系统。
在搜索时,我发现phpFreeChat是一个不错的选择,但在进行介绍时我发现它根本不使用DB。所以我想知道,与任何基于数据库的方法相比,它的性能有多好,灵活多少。
任何使用过的人都可以请一个观点,我是否应该去phpFreeChat,所以我可以开始学习更多。该网站每月访问量大约为300万次。
答案 0 :(得分:2)
任何基于 pull 的聊天系统(其中客户端必须主动联系服务器以请求更新)是非常耗费资源的。每个客户都会每隔几秒钟发出一次请求;将它乘以客户端数量,你很快就会自己DDoSing自己的服务器。
正确的系统应该基于 push ,其中每个客户端都与服务器具有持久连接,并且服务器能够实时将消息推送到所有相关方。使用Web套接字或长轮询作为后备是完全可能的。像WAMP这样的发布/订阅协议非常适合这种用途,像XMPP这样的专业协议也是如此。
写入文件或数据库是完全没有必要的,并且只是用于数据持久性目的的辅助功能。服务器只需要是消息代理,不需要存储。
答案 1 :(得分:0)
取决于你需要什么 - 我的第一个聊天应用程序也是基于文件的,而且它(并且仍然是)非常快,但定制和添加新功能是一个痛苦的屁股。如果你唯一需要的是快速聊天而不需要复杂的功能,那就去找基于文件的。如果您需要制作用户权限和其他复杂内容,请转到基于数据库的系统。