【dubbo】直连提供者+只订阅

来源:互联网 发布:网页怎么连接数据库 编辑:程序博客网 时间:2024/05/16 14:40

一、直连提供者

开发测试环境下,服务消费方需要绕过注册中心,直连服务提供者。

1、在消费方配置

 (1)配置文件方式:

<dubbo:reference id="dictionaryFacade" interface="com.dmsdbj.itoo.singleTableMaintain.facade.DictionaryFacade" url="dubbo://192.168.21.78:20881" />
  在serviceImpl中设置断点,每次访问都会走断点。在dubbo控制台,把本地服务接口禁用,还是可以正常访问的,这说明已经绕过了注册中心,直连提供者。

 

  (2)注解方式:

    @Reference(url = "dubbo://192.168.21.78:20881")    StudentFacade studentFacade;
    两种方式都能实现直连提供者的作用。如果不进行配置,消费方可能调用本地服务,也可能调用服务器上稳定版的服务。
  (3)文件映射方式:
    配置文件和注解方式,我们需要指明服务提供方的URL,组员们测试完成之后,很可能构建的时候,忘记去掉URL。
    在本机的adminstrator账户下建一个dubbo-resolve.properties文件,此配置的优先级高于<dubbo:reference>中的配置,(
1.0.15及以上版本支持)(2.0以上版本自动加载${user.home}/dubbo-resolve.properties文件,不需要配置)
com.dmsdbj.itoo.singleTableMaintain.facade.StudentFacade://192.168.21.78:20881

二、只订阅
    在本地开发测试时需要将本地服务注册到注册中心,但又没有完全做完的时候,如果就这样注册上去,其他消费方在调用该服务时,就有
可能调用到你本地的服务。或许正在此时,你把自己本地的服务关啦。这样自然就报错啦。
在<dubbo:registry>标签最后添加register="false"属性。如下所示
<dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" register="false" />

这样别人就不会调用到你本地的服务,而且你本地服务所订阅(依赖)的服务仍然是正常运行。确保每次调用到的都是服务器上稳定的服务。
   


原创粉丝点击