为啥dubbo:reference不支持path属性

nwwlzxa7  于 4个月前  发布在  其他
关注(0)|答案(8)|浏览(44)
  • I have searched the issues of this repository and believe that this is not a duplicate.

Ask your question here

生产者 dubbo:service 支持path属性,而消费者 dubbo:reference 不支持path属性,消费者只有类似的url,如果生产者使用了path属性, 在动态查询生产者会非常不方便。示例代码如下:

还有一个问题为啥新版本3.xxx版本的文档,没有《XML 配置》,完全一样吗?
测试版本:2.7.3

cnwbcb6i

cnwbcb6i1#

xml 配置的数据源和 config 是一样的,最终都会落到 config 上

path 的本身设计是给 rest 协议使用的,用于发布通用接口的。 Reference 里面没有的这个 case 你可以提个 PR 看能不能修复下

vsmadaxz

vsmadaxz2#

I want to try, please assign to me

bogh5gae

bogh5gae3#

为什么要在reference中设置path,是怕因为服务端设置了path,所以consumer这边掉不到服务吗?
consumer这边如果走注册中心去连接provider的话,不用单独设置url或者什么path都可以调到服务,不受影响的。

apeeds0o

apeeds0o4#

reference.setUrl的设计主要是为了直连provider,如果是直连provider的话,那么url(protocol://ip:port/path)可以看作一个服务连接的最小单元,从设计上来讲path不应该被拆分出来。

ljsrvy3e

ljsrvy3e5#

而service.setpath(),正如 @AlbumenJ 所说是方便发布rest服务的通用接口的

iih3973s

iih3973s6#

reference.setUrl的设计主要是为了直连provider,如果是直连provider的话,那么url(protocol://ip:port/path)可以看作一个服务连接的最小单元,从设计上来讲path不应该被拆分出来。

这个东西是可以扩展的,用来做数据隔离区分的还是非常有用的,比如这个场景:一个dubbo接口被不同的应用实现了,这时要回调某个项目的这个dubbo接口,用path会非常方便(groupId,version,tag都有特定的含义不方便用在这个地方)。

voase2hg

voase2hg7#

reference.setUrl的设计主要是为了直连provider,如果是直连provider的话,那么url(protocol://ip:port/path)可以看作一个服务连接的最小单元,从设计上来讲path不应该被拆分出来。

这个东西是可以扩展的,用来做数据隔离区分的还是非常有用的,比如这个场景:一个dubbo接口被不同的应用实现了,这时要回调某个项目的这个dubbo接口,用path会非常方便(groupId,version,tag都有特定的含义不方便用在这个地方)。

好的,我明白你的意思了。

相关问题