PHP 7 - swoft 2.x - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Evilk
V2EX    PHP

PHP 7 - swoft 2.x

  •  
  •   Evilk Jul 3, 2020 4906 views
    This topic created in 2123 days ago, the information mentioned may be changed or developed.

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

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

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

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

    不胜感激

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

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

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

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

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

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

    hyperf 企业版也是官方收费的,想完全白嫖开源版也是有难度的
    yc8332
        39
    yc8332  
       Jul 4, 2020
    php-fpm 足够了。。正常的业务瓶颈应该不是语言层面,php-fpm 性能足够了,就看你怎么用而已
    xttanwei
        40
    xttanwei  
       Jul 7, 2020
    1 、稳定与否与语言无关
    2 、pay sys 对性能要求并不高,大部分情况都是异步处理
    3 、我推荐 Lumen
    foolgry
        41
    foolgry  
       Jul 11, 2020 via Android
    workerman
    About     Help     Advertise     Blog    API     FAQ     Solana     5786 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 131ms UTC 07:54 PVG 15:54 LAX 00:54 JFK 03:54
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86