重大革新!Dubbo 3.0来了
8 日夜间,Dubbo 创始人之一梁飞在 Dubbo 交流群里透露了 Dubbo 3.0 正在动工的消息。
据了解,新的 Dubbo 内核与 Dubbo 2.0 完全不同,但它兼容 2.0。Dubbo 3.0 将以 Streaming 为内核,而不再是 2.0 时代的 RPC,但是 RPC 会在 3.0 中变成远程 Streaming 对接的一种可选形态。梁飞给出了一个内核接口:Streaming docking(Streaming),他说一切服务治理将围绕这个内核接口进行扩展。而 Streaming 通道与 gRPC 类似,支持 HTTP/2,同时 REST 接口也会受到一等公民支持,但是梁飞也表示此次在通讯上的改动并不大,重点是在服务治理和编程模型上。
说到编程模型的革新,梁飞透露,此次 Dubbo 3.0 能够开工,主要也是因为新特性将去掉一切阻塞,以“一切同步”为第一目标,在对 IO 密集业务的处理上,它能够提高机器利用率,使得一半机器的成本被节省下来。他还表示,其实 Dubbo 3.0 技术选型重大变更的驱动因素,也就是降低成本,因为在将系统服务化后,全业务线的机器都在等待返回数据,负载压不上去,机器浪费严重。
这个去阻塞化的模式,其实就是使用了“反应式编程”模式(Reactive Programming),梁飞介绍,在 Dubbo 3.0 中,reactive 将成为核心,会做到客户端、服务端、缓存和数据库,全程无阻塞。在数据库上,JDBC 驱动将进行更改,同时,为了性能,还会配合使用阿里毕玄对 JVM 协程的改造。更为重要的是,这个重大变更,不仅体现在 Dubbo 上,它也将影响到阿里 10 年来积累的中间件。
群里有人问到是否会采用 Service Mesh,梁飞表示,Dubbo 3.0 将支持可选 mesh,多加一层 IPC,这主要是为了兼容老系统;而内部则会优先尝试内嵌模式。他说代理模式 Ops 可独立升级框架,减少业务侵入,而内嵌模式可以带业务测试、部署节点少、稳定性检测方便。同时,可以将 Dubbo 3.0 启动为独立进程,由 dubbo-mesh 进行 IPC,路由、负载均衡和熔断机制将由独立进程控制。
据说,目前Dubbo 3.0 已正式投入全职开发梯队,初步 Runtime 已在验证,3 月底将在线上应用投入使用。
自去年11月份阿里公开宣布重启维护Dubbo 之后,我们一直在关注着Dubbo 的进展。今天这样一个小道消息的爆出,让我们很是兴奋,聊聊架构后续将持续关注,为读者奉上更多相关内容,欢迎关注。同时,推动技术进步,欢迎有兴趣、善于写技术框架的同学加入 Dubbo 3.0 的开发。
Dubbo GitHub地址:
https://github.com/alibaba/dubbo
Dubbo 3.0主力开发李鼎(哲良):
william.liangf@alibaba-inc.com
随着互联网业务的飞速发展,系统动辄要支持亿级流量压力,架构设计不断面临新的挑战。海量系统设计、容灾、健壮性,架构师要考虑多方面的需求做出权衡。不如来听听国内外知名互联网公司的架构师分享架构设计背后的挑战与问题解决之道。
QCon 北京 2018 目前 8 折报名中,立减 1360 元,有任何问题欢迎咨询购票经理 Hanna,电话:15110019061,微信:qcon-0410。