dubbo中的group与version的存在意义

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

<!-- start--服务提供者   -->
    <!-- dubbo中当一个接口有多个实现类时,需要添加group来区分 -->
    <!-- 机器A:服务提供者 -->
    <bean id="zhenliangsongA" class="com.xxx.ServiceImplA" />
    <dubbo:service group="song" interface="com.xxx.InterfaceService" ref="zhenliangsongA" />
    <!-- 机器B:服务提供者 -->
    <bean id="zhenliangsongB" class="com.xxx.ServiceImplB" />
    <dubbo:service group="wang" interface="com.xxx.InterfaceService" ref="zhenliangsongB" />
    <!-- end--服务提供者   -->
    
    <!-- start--服务消费者   -->
    <!-- 机器C:服务消费者:dubbo消费者也可以设置为“*”,表示消费任意一个group的服务均可   -->
    <dubbo:reference id="consumerService" interface="com.xxx.InterfaceService" group="*" />
    <!-- 机器D:服务消费者:dubbo消费者也可以设置为“song”,表示只能消费group是song的接口实现类   -->
    <dubbo:reference id="consumerService" interface="com.xxx.InterfaceService" group="song" />
    <!-- 机器E:服务消费者:dubbo消费者也可以设置为“wang”,表示只能消费group是wang的接口实现类   -->
    <dubbo:reference id="consumerService" interface="com.xxx.InterfaceService" group="wang" />
    <!-- end--服务消费者   -->

version:当一个接口的实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用;

<!-- start--服务提供者   -->
    <!-- 机器A提供1.0.0版本服务 -->
    <dubbo:service interface="com.xxx.ProviderService" version="1.0.0" />
    <!-- 机器B提供2.0.0版本服务 -->
    <dubbo:service interface="com.xxx.ProviderService" version="2.0.0" />
    <!-- end--服务提供者   -->
    
    <!-- start--服务消费者   -->
    <!-- 机器C消费1.0.0版本服务 -->
    <dubbo:reference id="consumerService" interface="com.xxx.ProviderService" version="1.0.0" />
    <!-- 机器D消费2.0.0版本服务 -->
    <dubbo:reference id="consumerService" interface="com.xxx.ProviderService" version="2.0.0" />
    <!-- 消费任意一个版本服务 -->
    <dubbo:reference id="consumerService" interface="com.xxx.ProviderService" version="*" />
    <!-- end--服务消费者   -->

猜你喜欢

转载自blog.csdn.net/xueyunzi1/article/details/82414562