V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
csulyb
V2EX  ›  PHP

PHPer 现在写后台业务 实现高并发只有 swoole 吗

  •  
  •   csulyb · 2023-11-29 17:37:51 +08:00 · 13278 次点击
    这是一个创建于 384 天前的主题,其中的信息可能已经有所发展或是发生改变。
    说说现在是什么架构,
    是用 php-fpm 多进程模式, 如何处理 io 并发低的问题?
    还是 swoole 或者 CLI 模式来处理的
    117 条回复    2024-03-16 22:26:32 +08:00
    1  2  
    IIInsomnia
        101
    IIInsomnia  
       2023-12-01 11:46:49 +08:00
    转 Go 的话,可以看看这个: https://github.com/shenghui0779/api-tpl-go
    kivmi
        102
    kivmi  
       2023-12-01 13:44:11 +08:00
    @encro 介绍个妹子先
    kivmi
        103
    kivmi  
       2023-12-01 13:47:38 +08:00
    @kakki 说的太对了,这就是我不怎么喜欢 swoole 的原因,自己要是用个其它的,还得自己写个扩展,所以我觉得 swoole 的架构模式就是有问题的,它应该更像个引擎和资源管理,而不是搞各种组件化的东西
    kivmi
        104
    kivmi  
       2023-12-01 13:50:15 +08:00
    @jevonszmx 现在还用 varnish 么?
    kivmi
        105
    kivmi  
       2023-12-01 13:54:34 +08:00
    @encro 你这个使用长连接,如何保活呢?到时候还不得重连
    kivmi
        106
    kivmi  
       2023-12-01 13:59:07 +08:00
    @crynocry swoole 会调用 fpm 的库吗?不是单进程,多协程的模式吗?
    kivmi
        107
    kivmi  
       2023-12-01 14:00:50 +08:00
    @dongisking 有没有源码可以分享学习
    kivmi
        108
    kivmi  
       2023-12-01 14:12:43 +08:00
    @singer 你这个要自定义协议了,也很麻烦
    singer
        109
    singer  
       2023-12-01 15:13:28 +08:00 via iPhone
    @kivmi 不需要自定义协议,就是原生连接
    haierspi
        110
    haierspi  
       2023-12-01 16:13:30 +08:00
    为啥不用 go 写啊
    mrpzx001
        111
    mrpzx001  
       2023-12-01 17:11:33 +08:00
    @kivmi 该联网了,swoole 最新版本是 5.1.1 ,绝大多数 composer 包可以直接用; swoole 是多进程多协程;
    HanMeiM
        112
    HanMeiM  
       2023-12-01 19:32:28 +08:00
    @dongisking 啊?哈哈哈哈,卧槽还有人在这个论坛认出我吗?我已经三年多没写过 PHP 了,不怎么上 LearnKu 了
    crynocry
        113
    crynocry  
       2023-12-04 08:20:52 +08:00
    @kivmi 这和单进程多协程没关系 fpm 的库到了 swoole 里面的 io 函数会被替换成 swoole 的 io 函数 所以用户可以无感知用 fpm 的库
    guanhui07
        114
    guanhui07  
       2023-12-04 21:48:00 +08:00
    swoole 挺好的,webman 更简单些 也是常驻内存 也支持 windows ,常驻内存性能足够了
    jevonszmx
        115
    jevonszmx  
       2023-12-12 18:35:15 +08:00
    @kivmi 非常值得尝试,不管你 web 后端什么语言,在 web 前端架设一个 varnish (集群),配置好 vcl 规则,提升很大
    nofeeling
        116
    nofeeling  
       321 天前
    高并发的话一定得有异步 IO ,同步阻塞的程序已经跟不上时代了。Node.js 、Golang 、Python 的后台程序现在都是异步的,已经没有同步的东西了,连 Java 都支持协程了。PHPer 们居然还在讨论 php-fpm 这样落后于时代至少 15 年的东西。怪不得都说 PHP 已死。

    我们公司的项目早在几年前就彻底从 PHP 转向 Golang 了,最开始也用过 Swoole ,早期的版本支持的协程组件太少,兼容性不太行,后面就转 Go 了。PHP 里也就是 Swoole 从技术上能说得过去,其他的框架从技术角度看已经是非常落后的架构了。Workerman 我们也调研过,主要是没有协程,不太符合要求。另外就是 Workerman 这个项目连单测都没有,规范性方面做的不行。

    Swoole 这样没有大公司背景的开源项目能到现在的阶段已经很厉害了。长远角度看,我的建议是还是考虑下尽早转 Golang ,毕竟背后是 Google 这样的大厂,Go 的核心开发者都是编程语言领域顶尖的人物,别说是 Swoole 的人了,PHP 的核心开发者和 Go 开发组的查了 2 - 3 个 Level 。
    jevonszmx
        117
    jevonszmx  
       276 天前
    纠结这么多框架,真不如好好查查系统瓶颈在哪里,我在上一家公司日活 300W ,用 tp 也没问题啊,主要瓶颈肯定不在 php ,基本就是数据库。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5411 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 08:08 · PVG 16:08 · LAX 00:08 · JFK 03:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.