Dubbo 2.7.0 发布,分布式 RPC 服务框架

段段段落
 段段段落
发布于 2019年01月18日
收藏 26

Dubbo 2.7.0 发布。Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring 框架无缝集成。

据开源中国对 Dubbo 的项目负责人北纬的采访Dubbo 重启维护一年多,现在还活着吗?,新版本的更新亮点有:

Dubbo 2.7.0 添加了社区呼声很高的异步化支持、以及注册中心与配置中心分离这两个特性。

与 2.6 及以前的版本相比,异步化支持不再局限于基于 Future 接口的异步,也不再仅仅局限于只能在客户端异步。具体来说,Dubbo 2.7.0 版本全面拥抱 JDK8,在客户端开始支持基于 CompletableFuture 的异步编程范式,在服务端支持基于 AsyncContext 的异步模型。

2.6 及以前的版本,元数据全部存储在 URL 上,配置信息和注册信息只能存储在注册中心上,注册中心的容量和扩展成为瓶颈。这个限制在使用 ZooKeeper 作为注册中心的大规模 Dubbo 应用场景下尤为突出。

在 2.7.0 中,通过对 URL 的改造,将注册中心拆分成了三个中心,分别是注册中心、配置中心和元数据中心,三者各司其责,不仅有效地解决了上述容量问题,而且很好地适应了微服务的技术架构,用户可以开始自由选择适合自己场景的注册中心和配置中心。

2.7.0 将内建支持 ZooKeeper、Nacos 和 Apollo 等第三方注册和配置中心,在后续的版本中,还会进一步提供对 Consul 和 etcd 的支持。另外,通过引入一个全新的元数据中心,将与注册配置无关的服务信息单独存储,除了减轻配置中心与注册中心的工作压力之外,还为将来更丰富的服务治理打下基础。未来,Dubbo 会基于元数据中心提供服务测试、服务 Mock 以及服务 API 管理等特性。

针对三个中心的分离,Dubbo 还会配套发布全新设计的 Dubbo Ops 控制台

另外,2.7.x 会是 Dubbo 在 Apache 软件基金会毕业的版本,安装包包名正式切换到了 org.apache.dubbo,为了保证向前的兼容性,我们还在这个版本中提供了 com.alibaba.dubbo 的兼容包。

Dubbo 2.7.0 具体更新内容 如下:

(环境要求:需要Java 8及以上版本支持)

New Features

  • 服务治理规则增强。

    • 更丰富的服务治理规则,新增应用级别条件路由、Tag路由等

    • 治理规则与注册中心解耦,增加对Apollo等第三方专业配置中心的支持,更易于扩展

    • 新增应用级别的动态配置规则

    • 规则体使用更易读、易用YAML格式

  • 外部化配置。支持读取托管在远程的集中式配置中心的dubbo.properties,实现应用配置的集中式管控。

  • 更精炼的注册中心URL,进一步减轻注册中心存储和同步压力,初步实现地址和配置的职责分离。

  • 新增服务元数据中心,负责存储包括服务静态化配置、服务定义(如方法签名)等数据,默认提供Zookeeper, Redis支持。此功能也是OPS实现服务测试、Mock等治理能力的基础。

  • 异步编程模式增强(限定于Dubbo协议)

    • 原生CompletableFuture签名接口支持

    • 服务端异步支持

    • 异步Filter链

  • 新增Protobuf序列化协议扩展

  • 新增ExpiringCache缓存策略扩展

Enhancements / Bugfixes

  • 负载均衡策略优化,包括ConsitentHash(#2190) 、LeastActive(#2171)、Random(#2597) 、RoundRobin(#2586) (#2650)

  • 升级第三方依赖:默认通信框架为netty 4、默认ZK客户端为Curator、Jetty 9k

  • 增加地址读取时对IPV6的支持(#2079)

  • 性能优化,链接关闭的情况下使得Consumer快速返回 (#2185)

  • 修复Jdk原生类型在kryo中的序列化问题 (#2178)

  • 修复Provider端反序列化失败后,没有及早通知Consumer端的问题 (#1903)

升级与兼容性

此次版本发布我们遵循了保持和老版本兼容的原则,尤其是在一些可能会破坏2.7版本与低版本互操作性的问题上,我们增加了一些兼容性代码,典型如服务治理规则、Package重命名、注册URL简化等。

  1. Package重命名

com.alibaba.dubbo -> org.apache.dubbo

  1. 注册URL简化

  2. 服务治理规则

  3. 配置

更新说明出处

下载地址:

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Dubbo 2.7.0 发布,分布式 RPC 服务框架
加载中

精彩评论

曹江华
曹江华
对于rpc服务,居然没有多语言客户端支持。
Wizzer
Wizzer
有人写2.6.5 --> 2.7.0 的升级指南么?
依然藏锋
总算等到了想要升级的 里程碑版本。
kut
kut
这货之前怎么不活着?现在活着,让人生气。

最新评论(14

ACANX
ACANX

引用来自“HingLo”的评论

我去看了一下,这个说明是来源于源码中的说明,我在中央仓库中并没有找到这个包,估计快要发布了

引用来自“mid_contro”的评论

上午已经发布了 groupId换了
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>2.7.0</version>
</dependency>

引用来自“HingLo”的评论

还真的不行,我在我的pom.xml中下载不下来,然后去maven中央仓库搜索的也是com.alibaba相关的依赖,没有找到最新的org.apache.dubbo的依赖
目前只能使用apache snapshot仓库的快照版本,正式版的还未发布到中央仓库
H
HingLo

引用来自“HingLo”的评论

我去看了一下,这个说明是来源于源码中的说明,我在中央仓库中并没有找到这个包,估计快要发布了

引用来自“mid_contro”的评论

上午已经发布了 groupId换了
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>2.7.0</version>
</dependency>
还真的不行,我在我的pom.xml中下载不下来,然后去maven中央仓库搜索的也是com.alibaba相关的依赖,没有找到最新的org.apache.dubbo的依赖
云淡V
云淡V

引用来自“曹江华”的评论

对于rpc服务,居然没有多语言客户端支持。
nodejs,python,go 好像都有
mid_contro
mid_contro

引用来自“HingLo”的评论

我去看了一下,这个说明是来源于源码中的说明,我在中央仓库中并没有找到这个包,估计快要发布了
上午已经发布了 groupId换了
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>2.7.0</version>
</dependency>
Wizzer
Wizzer
有人写2.6.5 --> 2.7.0 的升级指南么?
H
HingLo
我去看了一下,这个说明是来源于源码中的说明,我在中央仓库中并没有找到这个包,估计快要发布了
依然藏锋
总算等到了想要升级的 里程碑版本。
曹江华
曹江华
对于rpc服务,居然没有多语言客户端支持。
kut
kut
这货之前怎么不活着?现在活着,让人生气。
返回顶部
顶部