美文网首页Dubbo
Dubbo剖析-服务分组与服务版本号

Dubbo剖析-服务分组与服务版本号

作者: 阿里加多 | 来源:发表于2018-03-17 16:01 被阅读75次

一、前言

在Dubbo中接口类并不能唯一确定一个服务,在dubbo中接口+服务分组+版本号才能唯一确定一个服务,本文就来讲解下服务分组和版本号的使用。

二、服务分组

当一个接口有多种实现时,可以用 group 区分。

  • 服务提供方:


    image.png

上面配置在服务提供方法提供了com.test.UserServiceBo接口的两套实现,服务分组分别为olddubbo,newdubbo。

  • 服务消费方


    image.png

上面配置在服务消费方消费com.test.UserServiceBo接口的两套实现,服务分组分别为olddubbo,newdubbo。

需要注意的是消费方只能消费与自己服务分组相同的提供方的服务,这里userServiceOld生成的是服务提供方分组为olddubbo的接口的代理。
userServiceNew生成的是服务提供方分组为newdubbo的接口的代理。

三、服务版本

当同一个服务分组的接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用。
可以按照以下的步骤进行版本迁移:

  1. 在低压力时间段,先升级一半提供者为新版本
  2. 再将所有消费者升级为新版本
  3. 然后将剩下的一半提供者升级为新版本

比如:

  • 服务提供方
image.png

服务提供方法在分组dubbo下提供了两个版本号的服务

  • 服务消费方
image.png

同理需要注意的是服务消费方只能消费与自己接口+分组+版本一致的服务提供方的服务。

四、总结

dubbo中唯一确定一个服务的是接口+服务分组+版本号,服务提供方和消费方提供和消费服务时候显示的配置服务分组和版本号是一个最佳实践。

欢迎大家加入知识星球,在知识星球里面我们会深入讨论Java并发编程,以及JUC包源码;Java类加载器原理;Spring,Springboot,Tomcat,Dubbo等开源框架的使用以及源码剖析;分享作者从毕业到现在一路走来的学习经验,如何高效学习,如何阅读源码;讨论职业面试时候会经常遇到的问题以及如何作答,读者可以识别下面二维码加入:

121、.png

相关文章

  • Dubbo剖析-服务分组与服务版本号

    一、前言 在Dubbo中接口类并不能唯一确定一个服务,在dubbo中接口+服务分组+版本号才能唯一确定一个服务,本...

  • dubbo剖析:三 网络通信之 -- Server实现

    引子: 在 dubbo剖析:一 服务发布 中,我们讲到了 RegistryProtocol.export...

  • Dubbo剖析-服务发布

    dubbo源码版本 是2.5.4 一、故事开始的地方 我们发布一个服务一般配置文件是这样的 前面的文章解释过,du...

  • Dubbo剖析-服务降级

    一、前言 dubbo提供了一些服务降级措施,当服务提供端某一个非关键的服务出错时候,dubbo可以对消费端的调用进...

  • Dubbo剖析-服务直连

    一、前言 为了方便开发及测试,一般需要绕过注册中心,只测试指定ip的服务提供者,这时候服务消费方和服务提供方就是点...

  • dubbo - 服务发布流程

    图片来自dubbo剖析:一 服务发布 ServiceBean作为provider的发布入口 ServiceConf...

  • 架构师进阶实战随堂笔记七

    场景七:微服务架构的服务化和Dubbo、Dubbo框架的原理讲解与案例解析 目录 Dubbo是什么 Dubbo是一...

  • dubbo常见的一些面试题

    什么是Dubbo? Duubbo是一个RPC远程调用框架, 分布式服务治理框架 什么是Dubbo服务治理? 服务与...

  • dubbo剖析:二 服务引用

    注:文章中使用的dubbo源码版本为2.5.4 零、文章目录 一、服务引用的目的二、关键概念及关系三、服务引用流程...

  • dubbo剖析:一 服务发布

    注:文章中使用的dubbo源码版本为2.5.4 零、服务发布的目的 服务提供者向注册中心注册服务,将服务实现类以服...

网友评论

    本文标题:Dubbo剖析-服务分组与服务版本号

    本文链接:https://www.haomeiwen.com/subject/khsjqftx.html