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--服务消费者 -->