dubbo service注解用法_分布式(5)Dubbo分组、聚合、版本控制
分组官方文档:service-groupdubbo.apache.orgdubbo支持接口的灵活配置,当一个接口有多个实现时,可以选择使用group 分组。provider的xml配置:<bean id="groupServiceA"class="com.sy.dubbo.group.GroupServiceImplA"/><bean id="groupService...
- 分组
官方文档:
service-groupdubbo.apache.orgdubbo支持接口的灵活配置,当一个接口有多个实现时,可以选择使用group 分组。
provider的xml配置:
<bean id="groupServiceA"
class="com.sy.dubbo.group.GroupServiceImplA"/>
<bean id="groupServiceB"
class="com.sy.dubbo.group.GroupServiceImplB"/>
<dubbo:service group="A"
interface="com.sy.dubbo.service.ServiceApi"
ref="groupServiceA"/>
<dubbo:service group="B"
interface="com.sy.dubbo.service.ServiceApi"
ref="groupServiceB"/>
注解如下:
@Service(interfaceClass = OrderServiceAPI.class,group = "order2017")
public class OrderServiceImpl2017 implements OrderServiceAPI
consumer在使用的时候:
xml:
如果group指定A或者B,那么就调用A或B,如果同时指定A B,那么dubbo会在A B之间轮询调用。有点类似负载均衡。
<dubbo:reference id="consumerService" group="A,B"
merger="true"
interface="com.sy.dubbo.service.ServiceApi"
/>
注解:
@Reference(
interfaceClass = OrderServiceAPI.class,
check = false,
group = "order2017")
private OrderServiceAPI orderServiceAPI
2.聚合
group-mergerdubbo.apache.org有多个分组,想要把 分组的结果合并,可以使用:
搜索所有分组
<dubbo:reference interface="com.xxx.MenuService" group="*" merger="true" />
合并指定分组
<dubbo:reference interface="com.xxx.MenuService" group="aaa,bbb" merger="true" />
配置灵活
3、版本控制
multi-versionsdubbo.apache.org当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用。
可以按照以下的步骤进行版本迁移:
- 在低压力时间段,先升级一半提供者为新版本
- 再将所有消费者升级为新版本
- 然后将剩下的一半提供者升级为新版本
provider xml:
<bean id="versionServiceA"
class="com.sy.dubbo.version.VersionServiceImplA"/>
<bean id="versionServiceB"
class="com.sy.dubbo.version.VersionServiceImplB"/>
<dubbo:service version="0.1"
interface="com.sy.dubbo.service.ServiceApi"
ref="versionServiceA"/>
<dubbo:service version="0.2"
interface="com.sy.dubbo.service.ServiceApi"
ref="versionServiceB"/>
consumer指定版本:
<dubbo:reference id="consumerService"
version="0.1"
interface="com.sy.dubbo.service.ServiceApi"
/>
源码:
链接:https://pan.baidu.com/s/1Ym7jaZpWNPLvdXTTxqz5ZA
提取码:ngio
更多推荐
所有评论(0)