菜鸟疑问:关于websocket的服务创建问题

z54123321

因为最近可能会选择用PHP作为游戏服务器,其实游戏整体实时交互可能要求并不高,确实可以用短连接API来完成功能,但是游戏前端以前用惯了websocket,而且游戏可能会出现一些玩家实时聊天,在这样的情况下,可能需要服务端搭建这样的一个websocket服务。因为之前一直没有接触过这种长连接的应用场景,所以在这里想问问老鸟帮忙解惑一下这方面的问题,谢谢了哈!

本身想结合TP或者YII这类常用的框架,因为框架带来的便利性还是可以节省开发的时间,但是考虑到websocket这种长连接常驻进程,会有以下几点疑问

1.长连接进程会不会让这类框架的的实例占用内存资源一直不释放?那多个链接创建下来的进程是否占用内存很庞大?

长连接进程对于mysql数据库连接如果处理连接过多?因为PHP是多进程运行的,不像JAVA这种单例多线程,而且网上也很少有php连接池的应用处理,我们该怎么处理每一个进程创建的mysql连接?如果主动释放的话,会不会在交互频繁点的地方造成数据库连接上的性能阻塞?
如果有踩过坑的老铁可以分享一下你们项目架构吗?
或者有比较不错的项目模式推荐,我还是想兼顾一下开发效率和性能稳定的~

阅读 1524
1个回答

maq

先澄清一点:Workerman 的程序是以 CLI 的方式独立启动并长时间持续运行的,它跟 TP 或 Yii 之类框架实现的 web site 是没有关系的。

然后,再重新思考那几个问题吧。