您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

聊天系统 - 关于php做聊天室

2024/4/22 7:12:05发布27次查看
我们现在在做一款看直播的产品,有聊天室功能,类似新浪这个:http://video.sina.com.cn/l/pl/globallive/1327915.html ,他那个用的是jetty,我想知道php平台有没有类似适合做聊天室的东西,谢谢!
我们现在用的传统的nginx+php+mysql做的,因为一个php-fpm进程要占几十m内存,一台服务器只能开几百个php-fpm进程,勉强承受几千人在线。
回复内容: 我们现在在做一款看直播的产品,有聊天室功能,类似新浪这个:http://video.sina.com.cn/l/pl/globallive/1327915.html ,他那个用的是jetty,我想知道php平台有没有类似适合做聊天室的东西,谢谢!
我们现在用的传统的nginx+php+mysql做的,因为一个php-fpm进程要占几十m内存,一台服务器只能开几百个php-fpm进程,勉强承受几千人在线。
http://cevin.me/archives/realtime-msg.html
聊天这东西首先要考虑的浏览器端和服务器的沟通。比如是 ajax polling、comet 还是 websocket(这其中还涉及到浏览器兼容性问题)。三个方法在服务器的 implementation 是很不同的。
不想自己折腾的话,可以看看 ratchet。
就用最简单的方式,前端ajax轮询请求,后端做好缓存应该没问题。
聊天内容就不要入库了,直接用redis的list结构,并且限制list的长度如10000条,毕竟在线聊天没人会看那么多的聊天记录。这主要解决了读的问题。
如果一定要保存所有聊天记录,就加个队列,平滑入库。写的问题也能解决。
你必须主动启动一个程序,常驻内存,开若干个线程和若干个端口监听。
php做不了的,因为php的请求都被动,不能主动运行成daemon的,也没多线程。做这么高负载不错了。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product