目前的项目是使用webman提供TCP服务,由主项目建立TCP客户端来通过ip+端口的方式与webman项目通讯。 如何把webman默认的http服务关闭? 只提供process目录下的TCP服务?
TCP服务
ip+端口
尝试将config/server.php中http的count进程数改为0,发现没有作用。 使用webman的原因是,webman有丰富的文件处理、队列、ORM扩展,上手很快
'listen' => 'http://127.0.0.1:port', 应该是关不了的,但不对外开放也差不多 另外你想用只用TCP还想用ORM劝你死了这条心,workerman进程不能做阻塞业务会造成并发性能大幅降低
这个我不太理解,只要有IO请求,不可避免的会阻塞当前进程,这个我觉得与ORM关系不大吧? 要想提高并发量,我的想法是尽量使用异步任务或者异步队列的方式处理,但是在实际业务中也无法避免需要用到同步的请求操作。所以还是看具体业务吧,如果主项目也提供了TCP服务,那么完全可以workerman都把耗时的IO放到异步中,处理完成以后再推给主项目。
看具体业务,长连接业务绝大部分都是连接数高,但是请求量低,例如聊天应用,物联网等。我们有个物联网项目10并发连接,请求量每秒几百,操作orm没任何问题。
确实,请求量低可以忽略这个问题
config/server.php 里listen改成空字符串''。后面版本可能会设置成统一用/config/process.php设置http服务
老大,webman下阶段开发计划是什么?新版本大概什么时候出来
支持老大的决定,建议考虑老版本的平滑升级哦!
大佬稳,确实可用,listen改成空字符串以后,就不会有http进程监听了
'listen' => 'http://127.0.0.1:port',
应该是关不了的,但不对外开放也差不多
另外你想用只用TCP还想用ORM劝你死了这条心,workerman进程不能做阻塞业务会造成并发性能大幅降低
这个我不太理解,只要有IO请求,不可避免的会阻塞当前进程,这个我觉得与ORM关系不大吧? 要想提高并发量,我的想法是尽量使用异步任务或者异步队列的方式处理,但是在实际业务中也无法避免需要用到同步的请求操作。所以还是看具体业务吧,如果主项目也提供了TCP服务,那么完全可以workerman都把耗时的IO放到异步中,处理完成以后再推给主项目。
看具体业务,长连接业务绝大部分都是连接数高,但是请求量低,例如聊天应用,物联网等。我们有个物联网项目10并发连接,请求量每秒几百,操作orm没任何问题。
确实,请求量低可以忽略这个问题
config/server.php 里listen改成空字符串''。后面版本可能会设置成统一用/config/process.php设置http服务
老大,webman下阶段开发计划是什么?新版本大概什么时候出来
支持老大的决定,建议考虑老版本的平滑升级哦!
大佬稳,确实可用,listen改成空字符串以后,就不会有http进程监听了