PS:不管采用哪种方式,选择dubbo.properties来进行配置,不要单独再xml里配置,容易发布时候出现错误;
1.直连方式
比较适合开发测试同一个环境的,1-2个系统开发联调,多了都靠配置会比较麻烦
服务提供端:
- 在dubbo.properties里面添加dubbo.registry.register=false即表示当前系统的服务不发布到注册中心。
服务消费端:
- 可以在dubbo.properties下面配置dubbo.reference.helloWorldService.url=dubbo://ip:port/com.alibaba.dubbo.demo.HelloWorldService
- 或可以通过配置dubbo.reference.url=dubbo://ip:port/来让某个消费者系统的服务都指向制定的服务器地址
2.注册中心分组实现隔离
比较适合开发环境和测试环境就是分离的,开发都用给一个分组、测试用一个分组
dubbo.registry.group=test 服务注册和消费都从一个分组发现
dubbo.reference.registry-group=test 都从注册中心分组中查找
dubbo.reference.beanId.registry-group=test 一个服务从一个中心分组中查找
dubbo.service.registry-group=test 注册所有服务到注册中心分组中
dubbo.service.beanId.registry-group=test 注册一个服务到中心分组中
3.通过分组或者版本号来隔离
服务提供方:
在dubbo.properties中添加dubbo.service.helloWorldRemote.group=test,把一个服务helloWorldRemote发到test组
也可以将当前系统所有服务发布到指定分组dubbo.service.group=test
消费提供方:
在dubbo.properties中添加dubbo.service.helloWorldRemote.group=test,把在test组查找
也可以将当前系统所有服务指向分组dubbo.service.group=test
版本号就是把配置group改为version
参考:http://blog.csdn.net/JDream314/article/details/44039769