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

PHP 7 - swoft 2.x

  •  
  •   Evilk · 2020-07-03 16:24:24 +08:00 · 4042 次点击
    这是一个创建于 1633 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问,有在生产环境使用 swoft 2.x 的吗?

    我们准备做一个 pay system,目前有几种考虑: 1.是使用传统 php-fpm 模式,还是,swoole 模式? 2.如果走 swoole,则初步决定 swoft 2.x,但不知道生产是否稳定,毕竟跟 money 相关 3.如果走 php-fpm 模式,估计性能多少会有点影响

    目前,比较倾向于 swoft 2.x

    有老哥在生产使用的吗? 可靠吗?

    不胜感激

    41 条回复    2020-07-11 00:41:14 +08:00
    jqh
        1
    jqh  
       2020-07-03 16:42:12 +08:00   ❤️ 1
    swoft 可能不会有 3 了,laravel 不香吗~
    Evilk
        2
    Evilk  
    OP
       2020-07-03 16:43:39 +08:00
    @jqh 我看到很多人都在用 swoft,所以来这里问下,另,laravel 太重了,不适合做 pay system
    jqh
        3
    jqh  
       2020-07-03 16:44:40 +08:00
    我是 swoft 1.0 的早期用户,还给 swoft 开发过数个扩展 https://github.com/jqhph/swoft-admin,总体使用下来 emmmmmm,只能说框架还是选成熟点的好,谨慎选择~
    zyy314680012
        4
    zyy314680012  
       2020-07-03 16:44:43 +08:00 via Android
    @Evilk lumen~
    jqh
        5
    jqh  
       2020-07-03 16:46:39 +08:00
    @Evilk 你哪看到有很多人用 swoft 了?我在 swoft 群几年了,基本没人聊过 swoft 。laravel 还好啦,开了 opcache 其实没有你想象中的慢,主要还是用的爽
    Evilk
        6
    Evilk  
    OP
       2020-07-03 16:46:53 +08:00
    @jqh 谢谢老哥的建议,可能 1.x 问题有点多,不知道 2.x 是否稳定了
    Evilk
        7
    Evilk  
    OP
       2020-07-03 16:47:47 +08:00
    @zyy314680012 thanks
    sagaxu
        8
    sagaxu  
       2020-07-03 16:51:59 +08:00 via Android
    payment system 非常重要,业务也不复杂多变,建议还是用 Java 或者 Go
    Evilk
        9
    Evilk  
    OP
       2020-07-03 16:53:59 +08:00
    @sagaxu thanks,可以说说理由吗?
    hanzhao
        10
    hanzhao  
       2020-07-03 16:56:26 +08:00
    我们有一个基于 hyperf 1.1 的项目,整体体验还是不错的,最近刚发布了 2.0,还没实际用过,可以了解下。

    [hyperf]( https://hyperf.wiki/2.0/#/)
    optional
        11
    optional  
       2020-07-03 16:57:07 +08:00 via iPhone
    @Evilk 静态语言,数值类型,都比 php 更可靠。
    batyu
        12
    batyu  
       2020-07-03 16:57:51 +08:00
    之前 easyswoole 作者怒怼韩天峰以及事件后续各种发酵之后,感觉对 swoole 有点虚。前段时间也在同一个 laravel 项目中分别使用过 php-fpm 和 swoole,至少在我这小流量项目中没有感觉到 swoole 有什么速度加成,甚至更慢。因为是老项目,使用 swoole 后还要处理一些额外问题(比如全局变量问题),遂放弃。现在的计划还是重拾 golang
    lieyan
        13
    lieyan  
       2020-07-03 16:58:56 +08:00
    @Evilk 因为数据类型,还因为数据精度
    HanSonJ
        14
    HanSonJ  
       2020-07-03 17:00:10 +08:00
    laravel + swoole ,解决 IO 问题, 还觉得重吗
    Evilk
        15
    Evilk  
    OP
       2020-07-03 17:04:24 +08:00
    @optional thanks
    Evilk
        16
    Evilk  
    OP
       2020-07-03 17:04:40 +08:00
    @batyu 不会吧
    leonidas
        17
    leonidas  
       2020-07-03 17:06:53 +08:00
    @jqh 怎么说呢?正想用 swoft 做项目。被你这么一说又不太敢用了
    batyu
        18
    batyu  
       2020-07-03 17:09:38 +08:00
    @Evilk 还是看使用场景吧,比如 14 楼说的为了解决 IO 问题
    coderabbit
        19
    coderabbit  
       2020-07-03 17:10:56 +08:00
    easyswoole golang 相互走起!
    stabc
        20
    stabc  
       2020-07-03 17:12:01 +08:00
    PHP 要什么框架,直接 echo HTML 走起
    TypeErrorNone
        21
    TypeErrorNone  
       2020-07-03 17:12:04 +08:00
    go 啊
    sorshion
        22
    sorshion  
       2020-07-03 17:56:27 +08:00
    选 hyperf,swoft 现在其实已经不怎么维护了,前一阵子的事件,伤害挺大的
    PainfulJoe
        23
    PainfulJoe  
       2020-07-03 18:03:33 +08:00
    推荐一个框架 Hyperf,基于 swoole 用起来又跟 laravel 一样
    keller
        24
    keller  
       2020-07-03 18:26:12 +08:00
    我们的支付业务目前一天也承载了上千万的资金交易,
    之前用的 CI,现在正在切换到 Larave,开了 opcache 性能不是问题
    支付业务的的链路中性能的只要消耗在等待各支付平台和通道的响应(支付业务调用链路非常长)
    Evilk
        25
    Evilk  
    OP
       2020-07-03 18:28:43 +08:00
    @keller 并发高吗?
    caola
        26
    caola  
       2020-07-03 18:51:58 +08:00
    如果只是写 api 那么 laravel 的精简版 lumen 是很好的选择……
    iyaozhen
        27
    iyaozhen  
       2020-07-03 18:57:03 +08:00
    看业务吧 支付的话其实不是那么太关注性能,毕竟得先抢到嘛
    建议 php-fpm,虽然我自己用 swoole 做别的系统,但是没有个能人是 hold 不住的,很多非 php 的额外问题
    pengjay
        28
    pengjay  
       2020-07-03 18:59:55 +08:00
    php-fpm 也慢不到那里去。确实到瓶颈也是换语言的时候了。
    JaguarJack
        29
    JaguarJack  
       2020-07-03 19:04:47 +08:00 via iPhone
    7.4 preload 不慢啊
    xemtof
        30
    xemtof  
       2020-07-03 19:24:59 +08:00
    @sagaxu 我觉得还是.netcore 用的爽,现在.netcore 也基本稳定了,马上.net5 也可以无缝升级,感觉还是可以一用。
    ben1024
        31
    ben1024  
       2020-07-03 19:39:51 +08:00
    要不在等等 php8 ?
    swoole 性能不错,部署和业务实现有 php 之外的问题,需要比较有能力人主导下,
    生产用了 hyperf 稳定性还行
    dobelee
        32
    dobelee  
       2020-07-03 20:29:54 +08:00 via iPhone   ❤️ 1
    我有在用。简单说下,坑和缺陷非常多,我通过注入和继承修改了大量框架代码,碰到问题只能看源码再优化,源码都看很熟了。如果没有时间和精力还是放弃吧。另外,swoft 的 model 极其简陋,用起来非常困惑,新同学很难上手。进程管理也有各种缺陷,容易僵尸。需要了解 swoole 才能顺利解决。
    不过总体来说还是不错,除 model 垃圾外,框架完成度比较高,源码和设计模式都比较规范,反观 easyswoole 惨不忍睹。curd 的话成本略高了,如果频繁需要使用异步和任务分发之类的可以一试。
    dodogod
        33
    dodogod  
       2020-07-03 20:36:55 +08:00
    @dobelee 公司项目在用,确实坑挺多的,命令模式执行会有僵尸进程,我自己也给官方提过 PR
    Zach369
        34
    Zach369  
       2020-07-04 09:49:18 +08:00
    go 不香吗?
    dilu
        35
    dilu  
       2020-07-04 10:05:00 +08:00
    我们也有在用,如#32 所说 小毛病不断 大毛病不犯

    如果团队本身学习能力强,建议直接用 go

    如果本身只有 PHP 相关人才储备并且确实有性能需求,那 swoft2 绕不过去的

    总的来说还是个值得一用的框架
    CodeCodeStudy
        36
    CodeCodeStudy  
       2020-07-04 10:29:31 +08:00
    @dobelee 我觉得 easyswoole 还好啊,代码都还挺规范,而且真的是简单易懂
    z5864703
        37
    z5864703  
       2020-07-04 10:45:54 +08:00
    一般 php-fpm 跑性能问题不大。
    swoole 的话适合场景还是长链接处理,业务不复杂的,因为各种问题还是蛮多的,而且不是 php 层面能解决的,需要改 swoole 源码。
    swoole 社区力量还是太薄弱了,没多少人参与贡献,目前就核心那三个人做维护,不过也是现状,国内伸手党居多,或者无力贡献。
    其实除了 swoole 之外还有其他协程框架可以使用,比如 amphp 等
    haohappy
        38
    haohappy  
       2020-07-04 12:28:11 +08:00
    swoft 和 es 作者都放弃了 不维护了吧 群里也都是发 H 图的~

    可以去搜看看旧闻。。。
    说是开源的,但是人家作者喷你,不让你用了,谁还愿意厚着脸皮跪舔啊。。。

    hyperf 企业版也是官方收费的,想完全白嫖开源版也是有难度的
    yc8332
        39
    yc8332  
       2020-07-04 12:49:11 +08:00
    php-fpm 足够了。。正常的业务瓶颈应该不是语言层面,php-fpm 性能足够了,就看你怎么用而已
    xttanwei
        40
    xttanwei  
       2020-07-07 09:36:38 +08:00
    1 、稳定与否与语言无关
    2 、pay sys 对性能要求并不高,大部分情况都是异步处理
    3 、我推荐 Lumen
    foolgry
        41
    foolgry  
       2020-07-11 00:41:14 +08:00 via Android
    workerman
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2501 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 15:38 · PVG 23:38 · LAX 07:38 · JFK 10:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.