Dubbo整合,阿里用什么替代了dubbo( 二 )


如何看待阿里的dubbo项目的“复活”?
2018年1月8日夜间,Dubbo 创始人之一梁飞在 Dubbo 交流群里透露了 Dubbo 3.0 正在动工的消息 。百度百科上说:Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成 。知乎上的答友说:1. Dubbo负载均衡是对外提供一个公共地址,请求过来时通过轮询、随机等,路由到不同server 。
目的分摊压力 。失效备援是发现一台server挂了,就让另外一台去服务了 。跟餐馆换个服务员继续招待你一样;2. Dubbo是Java下的一套RPC框架(soa思想),作用就是统一管理配置,各个系统服务间的调用 。dubbo在淘宝也是解决他们实际问题的,不一定适合其他 。另外各家公司也都有大同小异的实现,所以没多少人用、也就没多少介绍 。
原理就是: A系统调用B系统接口服务,后面就是怎么把这个流程,动态化(zookeeper通知)、权限化、配置化、低耦合化、自动化 。总之:Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案 。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求 。
据了解,新的 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://mp.weixin.qq.com/s/PpH9xoj0FZAbjKHkA57AAw,http://www.52im.net/article-282-1.html) 。

推荐阅读