关闭

dubbo分组/直连提供者+只订阅

4165人阅读 评论(1) 收藏 举报
分类:

一、直连提供者+只订阅


开发测试环境下,需要绕过注册中心,直接测试服务提供者,

1.在消费方配置【可以两个以上,中间用逗号隔开】。

<dubbo:reference interface="com.changhf.service.DeptmentService" id="deptmentService" check="false"  url="dubbo://192.168.1.1:20881"/>

serviceImpl里加个断点,每次访问都会走断点。在管控台本地服务接口最后点击禁用,还是可以正常访问,说明绕过了注册中心。


2.在adminstrator账户下建一个dubbo.resolve.properties,默认会读取该文件,

该文件里只需加入以下内容

com.changhf.service.DeptmentService=dubbo\://192.168.1.1\:20881
【注意】如果两种方式都不配置,消费者可能调本地服务也可能是稳定版的服务。

3、有时候你的服务在本地开发测试时需要注册到注册中心,但又没有完全做完的时候,如果就这样注册上去,
其他消费者在调用该服务时,就会偶尔的调用到你本地的服务,这样就报错了。

<dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" register="false"/>
在<dubbo:registry >最后添加register="false",这样别人就不会调你的本地服务,但你的本地服务所订阅的服务正常运行。


二、服务分组

官网上该应用值用在一个接口有多种实现类时,但可以用来替代上面的直连提供者+只订阅,因为配置xml,有可能会出现误提交,导致服务出现问题。最好不要为了切换环境而调整源码,这样容易导致将调整的代码发布到生产线,所以排除通过Spring的XML来配置。

<dubbo:service interface="com.changhf.service.IDubboGroupService" ref="dubboGroup1Service" group="feedback2"/>
<dubbo:reference interface="com.changhf.service.IDubboGroupService" id="dubboGroup1Service" check="false" group="feedback2"/>

group属性为该服务接口添加一个分组,消费者就只会调用同一分组的服务接口了。

也可以用version属性来替代:

<dubbo:service interface="com.changhf.service.DeptmentService" ref="deptmentService" version="2.0"/>
<dubbo:reference interface="com.changhf.service.DeptmentService" id="deptmentService" check="false" version="2.0"/>

两者结合,可实现服务的稳步升级。。



三、总结

经过试错,以下配置可以用户生产环境(推荐使用)

<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="dubboDemo" />

<!-- 使用zookeeper注册中心暴露服务地址 -->
<dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" file="/home/chf/registry/dubbo_demo.cache"/>
<!-- 用dubbo协议在20881端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />

<!-- 监控中心配置 -->
<!-- 监控中心协议,如果为protocol="registry",表示从注册中心发现监控中心地址,否则直连监控中心 -->
<dubbo:monitor protocol= "registry" />	
<dubbo:provider timeout="600000" group="${dubbo.service.group}" version="${dubbo.service.version}" retries="${dubbo.service.retries}"/>
<dubbo:service interface="com.changhf.service.user.UserInfoManager" ref="userInfoManager" />


<dubbo:provider>为<dubbo:service>和<dubbo:protocol>标签的缺省值设置

同理,<dubbo:consumer>作为<dubbo:reference>标签的缺省值设置。

1
0
查看评论

Dubbo高级篇_10_Dubbo消费端直连服务提供者(开发调试)

直连提供者 (+) (#) 在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连, 点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表, A接口配置点对点,不影响B接口从注册中心获取列表。 (1) 如果是线上需求需要点对点,可在中配置url指向...
  • hardworking0323
  • hardworking0323
  • 2016-04-16 09:55
  • 26786

dubbo(provider,consumer)点到点直连配置

1.服务端接口配置(providr样例)applicationContext-dubbo-smk.xml: http://www.w3.org/2001/XMLSchema-instance"     xmlns:dubbo="http://...
  • ichsonx
  • ichsonx
  • 2014-09-02 16:53
  • 20977

Dubbo之——消费端直连服务提供者(开发调试)

http://dubbo.io/User+Guide-zh.htm#UserGuide-zh-直连提供者 在生产环境使用情况是,服务消费端只消费指定Provider提供者的服务 开发调试 我们启动远程服务提供者 我启动web-boss,这里调用是远程提供者服务 查看user-servi...
  • l1028386804
  • l1028386804
  • 2017-05-20 13:02
  • 2515

Dubbo开发直连调试

直连提供者 在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连, 点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表, A接口配置点对点,不影响B接口从注册中心获取列表。 (1) 如果是线上需求需要点对点,可在中配置url指向提...
  • frankenjoy123
  • frankenjoy123
  • 2017-11-14 12:55
  • 232

Dubbo的三种连接方式

一、直连提供者+只订阅 开发测试环境下,需要绕过注册中心,直接测试服务提供者, 1.在消费方配置【可以两个以上,中间用逗号隔开】。 serviceImpl里加个断点,每次访问都会走断点。在管控台本地服务接口最后点击禁用,还是可以正常访问,说明绕过了注册中心。 2.在adm...
  • Aliloke
  • Aliloke
  • 2017-10-29 18:06
  • 834

Dubbo项目配置,其实没那么神乎

dubbo和Springmvc相关的分布式项目,有具体步骤,附源码
  • BuptZhengChaoJie
  • BuptZhengChaoJie
  • 2017-02-27 14:08
  • 4617

dubbo——点对点直联

在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连, 点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表,A接口配置点对点,不影响B接口从注册中心获取列表。 消费方配置: 提供方配置:
  • earthhour
  • earthhour
  • 2016-11-08 16:41
  • 2314

dubbo提供方与消费方的三种连接方式

1、采用zookeeper作为注册中心<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans&...
  • cjm1103
  • cjm1103
  • 2017-05-14 11:53
  • 2030

dubbo可通过指定Url方式绕过注册中心直连指定的服务地址

开发、测试环境可通过指定Url方式绕过注册中心直连指定的服务地址,避免注册中心中服务过多,启动建立连接时间过长,如
  • zsg88
  • zsg88
  • 2017-08-20 21:45
  • 607

dubbo直连指定服务提供者Ip

之前在dubbo调试时候,通过代码直连服务提供者的时候,总是找不到服务。 先说明一下情况,        同一个接口多个实现,通过不同的group发布服务。在直连指定服务器时,已经指定了ip,还是请求不到。        ...
  • a718515028
  • a718515028
  • 2017-07-13 20:28
  • 2661
    个人资料
    • 访问:71969次
    • 积分:1859
    • 等级:
    • 排名:千里之外
    • 原创:124篇
    • 转载:30篇
    • 译文:0篇
    • 评论:6条