Dubbo 3.0 即将到来

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真正完成涅磐重生!

开源地址

Dubbo GitHub地址:https://github.com/alibaba/dubbo

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/673669

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。