有在用 vert.x 的同学吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
PDX
V2EX    Java

有在用 vert.x 的同学吗?

  •  
  •   PDX 2018-04-07 23:19:18 +08:00 16915 次点击
    这是一个创建于 2772 天前的主题,其中的信息可能已经有所发展或是发生改变。

    你们是怎么用这个“工具集”的?

    看官方的文档,似乎更倾向于完全使用 vertx 开发,不会加入 spring 之类的框架,而且似乎更好。

    27 条回复    2022-01-18 15:18:52 +08:00
    icekingcy
        1
    icekingcy  
       2018-04-07 23:28:18 +08:00 via iPhone
    我司正全面切向 VERTX
    cloud107202
        2
    cloud107202  
       2018-04-07 23:32:32 +08:00   1
    我们在用。vert.x 采用类似 Node.js 的 eventloop callback 机制,优势是 Eventloop 是单线程场景下几乎是最快的并发解决方案,但也需要周边生态的支持,比如 DbClient/HttpClient 这些跟 IO 打交道的 API 需要支持异步回调的风格,社区干脆就整合或者自己实现了。依赖注入的类库可以用 Guice,整体启动时间大概是同规模 spring boot 工程的四分之一左右,基准内存占用少一半。

    实践相关的经验推荐阅读这个专栏
    https://zhuanlan.zhihu.com/whitewoodcity
    earendil1412
        3
    earendil1412  
       2018-04-08 00:35:39 +08:00
    问题是 jdbc 好像不支持 AIO 啊。。。
    looplj
        4
    looplj  
       2018-04-08 08:22:04 +08:00 via Android
    回调地狱。不知道涌 kotlin 有没有改善。
    PDX
        5
    PDX  
    OP
       2018-04-08 08:39:52 +08:00
    @icekingcy 你们是怎么用这个东西的啊???
    PDX
        6
    PDX  
    OP
       2018-04-08 08:40:54 +08:00
    @earendil1412 vertx 做了封装,他提供的 api 是异步的
    PDX
        7
    PDX  
    OP
       2018-04-08 08:42:00 +08:00
    @ZSeptember kotlin 协程啊,有官方的模块。还有 rx,reactivex
    PDX
        8
    PDX  
    OP
       2018-04-08 08:57:28 +08:00
    @cloud107202 自己搭了一个小项目,用了 spring boot,但是总感觉怪怪的。。。vertx 和 spring 好像不是很搭
    sagaxu
        9
    sagaxu  
       2018-04-08 09:22:31 +08:00 via Android   1
    我用 springboot 做 di,bean 和配置都交给它了,定时任务也用 springboot 自带的。不需要异步的地方,还在用 spring-data-jpa,jdbcTemplate 也在用。没有用 vertx 的 cluster,也没有用它那些管理工具,纯粹当 Java 版 nodejs 在用。
    swim2sun
        10
    swim2sun  
       2018-04-08 09:44:38 +08:00
    虽然 vert.x 有跟 spring 集成的 demo,但跟 spring 搭配起来会很奇怪,使用 vert.x 全家桶是比较好的选择。
    vert.x 全家桶跟 spring 的全家桶又不一样,spring 是做好了给你送上门,vert.x 是提供食材、厨具,让你自己做...虽然 vert.x 的理念是很先进,但如果要快速把项目落地的话 spring 还是更好的选择,毕竟现在硬件比人力便宜。尤其对于小团队来说,性能、高并发什么的是不用去考虑的
    PDX
        11
    PDX  
    OP
       2018-04-08 10:02:11 +08:00
    @swim2sun

    用 vertx 的 jdbc api 的时候有些不适应,因为在 spring 里用的 orm,直接拼 sql 感觉很不方便似的,但后来一想,之前写 node.js 的时候,用的那些框架,也一样写 sql 却没有这种感觉,应该就是先入为主的原因吧。

    目前来说,vertx 全家桶要比 spring 全家桶简单太多了。只不过一直在使用 spring 的思维里,没办法跳出来,不知道该怎么组织 vertx 的代码
    PDX
        12
    PDX  
    OP
       2018-04-08 10:03:34 +08:00
    @sagaxu 确实,应该把 vertx 当成工具用
    Cbdy
        13
    Cbdy  
       2018-04-08 10:50:31 +08:00
    Spring 在线事务这一套东西确实比较好用,用 vertx 写事务比较痛苦,看场景,这两个不矛盾
    Spring 主要被滥用得比较厉害(包括官方),到处 XML、注解太鬼畜了,社区组件源码质量也泥沙俱下
    Cbdy
        14
    Cbdy  
       2018-04-08 10:58:02 +08:00
    @Cbdy 如果 Java 能把 async/await 关键词加进来,用 vertx 就比较爽了。在这之前,HTTP 后端的最佳选择可能还是 Node.js/TypeScript
    Tyanboot
        15
    Tyanboot  
    PRO
       2018-04-08 11:10:44 +08:00 via Android
    @ZSeptember 可以的。用 kotlin 的协程可以把回调用 awaitResult 来改写。
    micean
        16
    micean  
       2018-04-08 16:50:01 +08:00
    @PDX
    可以自己在 vertx 基础上再封装一层
    这也是相对 spring 更自由的地方
    brett
        17
    brett  
       2018-05-05 15:53:29 +08:00
    我用 vertx 封装了 ebean,加了调度器,但是工作很难找啊,国内也没社区
    PDX
        18
    PDX  
    OP
       2018-05-06 08:48:35 +08:00 via iPhone
    @brett 真的没几家公司用这个
    brett
        19
    brett  
       2018-05-27 15:36:34 +08:00
    @PDX 哈哈哈,为了方便招人,我在应用的入口上加了 spring boot 的入口,说实话 ebean 不是一般的好用,对于持续交付和写作开发的方面上
    runningman
        20
    runningman  
       2019-03-02 16:10:33 +08:00
    vert.x 我觉得挺好。但是只是一部分。没有 springboot 全面,数据库这块得自己写。
    javenwang
        21
    javenwang  
       2019-06-08 23:10:41 +08:00
    @runningman jooq 好像挺好用
    runningman
        22
    runningman  
       2019-09-25 08:01:45 +08:00 via iPhone
    @javenwang 你在用吗 vertx + jooq ?
    PDX
        23
    PDX  
    OP
       2019-09-25 08:21:47 +08:00 via iPhone
    @runningman 没有用 jooq
    runningman
        24
    runningman  
       2019-09-25 09:34:56 +08:00
    @PDX 那用的啥,这块可以交流交流,270115861
    javenwang
        25
    javenwang  
       2019-11-08 09:31:00 +08:00
    @runningman 之前研究过,现在发现它并没有解决我的痛点,jooq 并不是一个 orm,只是替我们拼 sql 执行而已
    runningman
        26
    runningman  
       2019-11-08 12:18:50 +08:00 via iPhone
    @javenwang 那最后咋整的
    LeoQ689
        27
    LeoQ689  
       2022-01-18 15:18:52 +08:00   1
    我们用的 vert.x + JOOQ + RX2 + Dagger2, 缓存 caffeine, 数据库协作同步 Liquibase
    /ins>
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2473 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 04:26 PVG 12:26 LAX 20:26 JFK 23:26
    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