sagaxu
V2EX  ›  编程

Vertx + Kotlin coroutine = 真香

  •  
  •   sagaxu · Nov 12, 2019 via Android · 7120 views
    This topic created in 2412 days ago, the information mentioned may be changed or developed.
    项目积累了大量异步回调的 JVM 代码,层层回调的复杂业务逻辑维护起来有些心累,引入协程能明显改进可读性和易维护性。

    首选是 Go 或者 Elixir,但是脱离 JVM 意味着不仅业务要重写,对接的众多第三方服务也要重写,周除了易出错,周期也会拉的很长,风险明显超出我能 handle 的范围。

    然后考虑的是挂 agent 改字节码协程化方案,对我们而已,跟魔改 JVM 的方案一样,风险偏高,代码层面仍然要改造不少地方。

    Vertx 3.6.x 开始,会给回调方法自动生成用于 Kotlin 协程的 xxxAwait 方法,第一时间拿来试了一下,然后就停不下来了,最近完成了整个项目所有代码的协程改造。总结下来就是真香,举个例子,接入公司自研的微服务体系,之前是几千行代码的 NIO 实现的,再后来基于 netty 重写也有大几百行代码,到现在的 vertx+协程不到 500 行代码了。
    7 replies    2020-08-18 11:18:36 +08:00
    cpdyj0
        1
    cpdyj0  
       Nov 12, 2019 via Android
    是的,非常香,写起来非常舒服
    lbp0200
        2
    lbp0200  
       Nov 12, 2019 via iPhone
    厉害了
    tt67wq
        3
    tt67wq  
       Nov 12, 2019
    elixir 也香
    blackccc
        4
    blackccc  
       Nov 13, 2019
    有什么缺陷吗
    foamvalue
        5
    foamvalue  
       Nov 18, 2019
    一般什么业务场景呢?
    itfanr
        6
    itfanr  
       Dec 6, 2019
    vertx+协程不到 500 行代码了……
    cloudopt
        7
    cloudopt  
       Aug 18, 2020
    可以试下 Cloudopt Next 哦。

    Cloudopt Next 是一个非常轻量级且现代的、基于 Kotlin 编写的全栈开发框架,同时支持 Java 和 Kotlin,您可以处理 Url 的解析,数据的封装,Json 的输出等等,从根本上减少开发时间、提升开发体验。

    vertx 官方推荐项目( vertx-awesome ),kotlin 推荐项目( awesome-kotlin )

    next.cloudopt.net
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2727 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 14:05 · PVG 22:05 · LAX 07:05 · JFK 10:05
    ♥ Do have faith in what you're doing.