重大利好,Dubbo 3.0要来了。
关于Dubbo的好消息,2018年1月8日,Dubbo创始人之一梁飞在Dubbo交流群里透露了Dubbo 3.0正在开工的重大消息。
据网上可靠消息,目前Dubbo 3.0已正式投入全职开发梯队,初步Runtime已在验证,3月底将在线上应用投入使用。
Dubbo 3.0新特性前瞻
据消息,Dubbo 3.0内核与Dubbo 2.0完全不同,但它会兼容2.0。
Dubbo 3.0将以Streaming为内核,而不再是2.0时代的RPC,但是RPC会在 3.0中变成远程Streaming对接的一种可选形态。Dubbo 3.0给出了一个内核接口:Streaming docking(Streaming),一切服务治理将围绕这个内核接口进行扩展。而Streaming通道与gRPC类似,支持HTTP/2,同时REST接口也会受到一等公民支持。
Dubbo 3.0在通讯上的改动并不大,重点是在服务治理和编程模型上。说到编程模型的革新,梁飞透露,此次Dubbo3.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的新特性,我们可以拭目以待!
近期精选
Java技术栈
长按二维码关注我们
架构|分布式|技术教程|面经