首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  编程

Vertx + Kotlin coroutine = 真香

  •  
  •   sagaxu · 25 天前 via Android · 1791 次点击
    项目积累了大量异步回调的 JVM 代码,层层回调的复杂业务逻辑维护起来有些心累,引入协程能明显改进可读性和易维护性。

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

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

    Vertx 3.6.x 开始,会给回调方法自动生成用于 Kotlin 协程的 xxxAwait 方法,第一时间拿来试了一下,然后就停不下来了,最近完成了整个项目所有代码的协程改造。总结下来就是真香,举个例子,接入公司自研的微服务体系,之前是几千行代码的 NIO 实现的,再后来基于 netty 重写也有大几百行代码,到现在的 vertx+协程不到 500 行代码了。
    6 回复  |  直到 2019-12-06 13:44:14 +08:00
        1
    cpdyj0   25 天前 via Android
    是的,非常香,写起来非常舒服
        2
    lbp0200   25 天前 via iPhone
    厉害了
        3
    tt67wq   25 天前
    elixir 也香
        4
    blackccc   24 天前
    有什么缺陷吗
        5
    foamvalue   19 天前
    一般什么业务场景呢?
        6
    itfanr   1 天前
    vertx+协程不到 500 行代码了……
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1240 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 19ms · UTC 17:51 · PVG 01:51 · LAX 09:51 · JFK 12:51
    ♥ Do have faith in what you're doing.