虚拟线程还是 WebFlux - V2EX
请不要在回答技术问题时复制粘贴 AI 生成的内容
ttthys

虚拟线程还是 WebFlux

  •  
  •   ttthys Jan 30 2470 views
    This topic created in 117 days ago, the information mentioned may be changed or developed.

    前言

    准备搭建一个公司自用的 iot 平台,要求实现设备监听和 rag 知识库,但是公司现有的开发人员包括我在内只有 3 人,都是 Java 开发,前端是兼职的,3 个人的开发水平不一,另外两位没有接触过响应式编程以及 spring ai 和 langchian4j 看了下开源的 iot 平台,感觉 jetlinks 不错,但是都是用的响应式编程,可能会有一定的学习难度,企业版的功能基本符合客户预期,就看公司舍不舍得出钱了

    考虑

    webflux 确实感觉有点反人类,还要配合 r2dbc 使用才行,可能就算是用 jetlinks 到时候估计也会有一大堆问题,看能不能先直接上 jdk25 的虚拟线程,还是用传统开发模式,对于设备实时监听和 rag 的时候用 websocket 和 sse

    19 replies    2026-02-02 14:11:56 +08:00
    wysnxzm
        1
    wysnxzm  
       Jan 30
    用新不用旧
    ThinkCat
        2
    ThinkCat  
       Jan 30
    如果为了快速出产品,还是先用稳一点的技术,不至于一边弄一边填这些技术或者学习的坑。传统模式挺好的,ws 和 sse 支持目前都不错。 如果后面真的碰到了性能的天花板,再换也不迟。
    xbhayi
        3
    xbhayi  
       Jan 30
    我感觉主要是设备监听 都是 netty 的,虚拟线程和 WebFlux 区别不大吧
    dode
        4
    dode  
       Jan 30
    多开点内存
    CaspianJou
        5
    CaspianJou  
       Jan 30
    虚拟线程,有几个项目在用了目前没发现啥大问题。唯一就是注意 synchronized 目前有点问题,我记得会阻塞 Carrier Thread ,用 Reentrantlock 替代,说是 bug 后面版本会修。响应式还是太反人类了,非要用 webflux 建议全程 vibe coding
    Yanickkk
        6
    Yanickkk  
       Jan 30
    WebFlux 有污染性,能接受也还行,就和 async 一样,最开始就声明就好了,其他就没有什么。23 年写了好多,现在新项目改 virtualthread 了,简单很多
    EastLord
        7
    EastLord  
       Jan 30
    当然是虚拟线程啦
    cookii
        8
    cookii  
       Jan 30 via Android
    虚拟线程,或者 vertx/quakus 吧,webflux 很难用
    zed1018
        9
    zed1018  
       Jan 30
    @cookii 复议。webflux 享受不到 spring webmvc 的生态福利,但是又要享受到 spring 的一大坨。还不如换 vertx/quakus 。但是现阶段据说虚拟线程能达到 90%webflux 的性能
    ymy3232
        10
    ymy3232  
       Jan 30
    人工比内存贵 多开点内存就行
    virus384
        11
    virus384  
       Jan 31
    都用,并不冲突,webflux 的链式编程处理业务其实挺强的
    chenPiMeiHaoChi
        12
    chenPiMeiHaoChi  
       Jan 31
    以前写过两年 webflux ,很好玩,但现在建议虚拟线程。
    fbu11
        13
    fbu11  
       Jan 31
    虚拟线程吧,都没掌握明白就先别用新技术,mqtt 、websocket 和 sse 都比 webflux 简单其实
    kaneg
        14
    kaneg  
       Jan 31
    @CaspianJou synchronized 问题据说已经在 Java 25 被解决了。
    Gress
        15
    Gress  
       Jan 31
    用 JDK25 虚拟线程
    coolmenu
        16
    coolmenu  
       Feb 1
    iot 以前选择 erlang/elxir 的比较多。。。
    ccw4wcc
        17
    ccw4wcc  
       Feb 2
    个人感觉 webflux 对水平要求还是有一点的,不太易用,不太好维护
    flmn
        18
    flmn  
       Feb 2
    虚拟线程出来后,webflux 没有意义了
    Hudiebbk
        19
    Hudiebbk  
       Feb 2
    虚拟线程,用起来性能跟 webflux 差不多了,要是真要 webflux 可以考虑 vertx
    About     Help     Advertise     Blog     API     FAQ     Solana     5358 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 59ms UTC 07:08 PVG 15:08 LAX 00:08 JFK 03:08
    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