Swoole和webman那么强,为什么laravel官方不用这些,为什么依然很多人用laravel和tp之类的

您所在的位置:网站首页 nodejs对比swoole Swoole和webman那么强,为什么laravel官方不用这些,为什么依然很多人用laravel和tp之类的

Swoole和webman那么强,为什么laravel官方不用这些,为什么依然很多人用laravel和tp之类的

2023-12-19 10:06| 来源: 网络整理| 查看: 265

只谈个人看法:你的问题是Laravel、ThinkPHP用户群更大, 使用Webman Swoole 的人不多。回答:laravel 官方已经支持openswoole learnku.com/docs/laravel/8.x/octan...为何没有支持Workerman , 你可以去搜索一下issues 已经有人提过问了。octane 已经预留编程接口,按照实现即可。

laravel thinkphp 出现很早,已经大量积累现有项目,长期使用FPM 编程已经习惯,自然不愿意改变。何况很多项目还没有到达性能瓶颈,他们更多关注业务如何设计。

常驻Server 优势:Swoole 、Workerman它们提供不仅仅是性能上提升,还有网络通信的支持。不需要依赖第三方语言去实现。做网络安装Gatewayworker 直接使用,定时任务直接用webman-crontab 不需要你用操作系统的计划任务。

开发效率:webman 开发效率不比thinkphp laravel 低,常驻内存代码不更新问题,通过框架配置文件指定目录,自动代码自动更新。掌握难度我觉得和laravel thinkphp 差不多,没有特别关注的。只担心内存泄漏问题,这个官方有解决方案,也不必大惊小怪(go, java 都有的)

官方终极解决方案:$worker->onMessage = function($connection, $data) { static $request_count; // 业务处理略 if(++$request_count > 10000) { // 请求数达到10000后退出当前进程,主进程会自动重启一个新的进程 Worker::stopAll(); }};

webman 生态是兼容Composer的。官方组件 Laravel orm、symfony event、symfony console 本身大量使用第三方composer,你觉得这个说服力不够?

作者初心是简单方便很多人使用,兼容composer php 现有生态。

接下来谈谈swoole:常驻内存无协程的swoole 和 webman(workerman) 也差不多。但多数时候说的swoole ,指的是全协程Server。不使用因为很多人技术能力不够,害怕解决不了问题,并且不兼容composer 生态。单线程多协程会造成静态变量数据混乱,数据库也需要改造为连接池,那不然协程数量内存不得啃光,数据库都被并发打死。swoole 框架主要就是hyperf,如果使用hyperf 开发只能用官方的包,如果你技术能力很强也可以自己改造composer包。总的来说,大多数人技术不行,不敢使用,害怕翻车。

多说一点:workerman官网webman开发: www.workerman.net/webman admin: www.workerman.net/doc/webman-admin... 作者亲自写的可能你担心webman 不稳定,大可放心!webman 本身就只实现路由部分,其余全是现有comopser 生态拼装而成,不信看源码就知道。真正决定webman 是否稳定是workerman 容器,而不是webman。workerman 作者自己开发过很多项目,拿其中的“泡泡IM”,这个项目已经有4年多了。何况workerman 已经出现8年多了,不用怀疑稳定性。

workerman 不稳定只可能是event 扩展,但这个扩展发布很多稳定版本了。pcntl 扩展更不用多说吧!event 稳定版链接:pecl.php.net/package/event最早版本追溯到 2004年,不用质疑扩展稳定性。

总结:swoole 全协程运行不兼容composer 生态,技术门槛高一些,何况很多项目未达到性能瓶颈。webman 常驻内存多worker,兼容composer 生态环境,简单容易上手,难度和thinkphp 差不多。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3