好奇一问,对于工作 2 年以上的人去学 reactor-core 那套异步框架,难学吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JamesChen
V2EX    随想

好奇一问,对于工作 2 年以上的人去学 reactor-core 那套异步框架,难学吗?

  •  
  •   JamesChen 2021-05-08 11:01:02 +08:00 1683 次点击
    这是一个创建于 1673 天前的主题,其中信息可能已经有所发展或是发生改变。
    由于我个人平日在服务端几乎只写异步的 workflow (就是一个 request 进来,各种处理,然后一个 response 回去。用 reactor-core 那套),写异步代码就跟其他人写同步代码一样,没什么特别感觉。

    只是偶尔会在网上看人讨论 reactor 或 Java 其他异步框架的时候,总有一些人会吐槽“巨难写,没人接手”。
    但更诡异的是:总所周知,Java 面试很擅长问造火箭问题,各种 GC 日志分析、JVM 性能调优,不准备个高并发面试必备套餐都不好意思去面试(滑稽的是大多数项目还用着 BIO 模型)。这表明大伙至少心里还是渴望追求高性能的(不然面个锤子)。
    而实际上,各种调优带来的效果微乎其微(通常就保持默认配置,改一些常规参数),升级个版本号比很多“专家”瞎折腾好多了。反倒是 reactor-netty 那套异步模型,配合 R2DBC/MongoDB 或诸如此类的以 reactor-netty 为客户端驱动的整个应用架构,能带来吞吐量质的飞跃。

    造成了一个滑稽局面就是:每个人都在研究如何在 shi 上雕花更美,却不肯直接展示花。

    而且相比网上的一些言论,聊起 c++默认模式就是:各种高级+复杂+刁钻特性,如数家珍。但是看 Java 一说异步框架,一堆人“巨难写,没人接手”劝退的。虽然知道 c++/java 圈子不一样,但我不相信大家对“难”的理解,有这么大的差距。

    如果在大家真心追求高性能的前提下,reactor-core/netty 那套东西真得难学吗?

    PS:
    1. 异步框架的 debug 确实麻烦
    2. Spring WebFlux 包的就是 reactor-netty
    7 条回复    2021-05-09 12:57:39 +08:00
    GopherDaily
        1
    GopherDaily  
       2021-05-08 12:29:03 +08:00
    吞吐和耗时不一样。
    单次请求的耗时短,和服务整体的吞吐高没有关联。
    JamesChen
        2
    JamesChen  
    OP
       2021-05-08 12:42:50 +08:00
    @GopherDaily 老哥,我就提醒一下,不要在自己不熟悉的领域给老司机“纠错”,尤其看你这名称好像还是做技术公众号的
    emSaVya
        3
    emSaVya  
       2021-05-08 12:53:16 +08:00
    手里拿个锤子 以为全世界都是钉子 让你的 cpu 拉满 能申请到机器就行 选什么模型重要吗?
    gotonull
        4
    gotonull  
       2021-05-08 13:35:16 +08:00
    之前公司有个项目就是用的这一套,我感觉学起来资料好少 而且那个响应式编程 我一直 get 不到他的精髓
    GopherDaily
        5
    GopherDaily  
       2021-05-08 13:40:42 +08:00
    @JamesChen 不做,有错可以指出,阴阳怪气也不是不行
    ch2
        6
    ch2  
       2021-05-09 10:46:08 +08:00 via iPhone
    可能他们的业务没有多少 qps,cpu 就已经被拉满了,这种情况异步不异步没啥区别
    ccde8259
        7
    ccde8259  
       2021-05-09 12:57:39 +08:00 via iPhone
    面向工资编程的情况下,谁都不愿意拿一个出了问题毫无头绪的东西,把自己的 KPI 丢进抽奖箱。
    上线性能不行就是机器不够,再申请就是了。这种手段比起你上 Reactor 榨性能来说,没有任何风险。
    假如性能成为瓶颈又申请不到机器,是不是考虑一下你的业务压根不赚钱了。这种时候无论你用再优雅的 Reactor 抬了多少性能都没有意义。这种情况都是穷途末路,早晚要死。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2819 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 03:08 PVG 11:08 LAX 19:08 JFK 22: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