直连提供者
Dubbo 中的直连点对点连接
此文档不再维护。您当前正在查看快照版本。如果您想查看文档的最新版本,请参阅 最新版本.
在开发和测试环境中,通常需要绕过注册中心,只测试指定的服务提供者。此时,可能需要点对点直连。点对点直连方式将以服务接口为单位,忽略注册中心的提供者列表。A 点对点接口配置不影响 B 接口从注册中心获取列表。
通过 XML 配置
如果线上需求需要点对点,可以在 <dubbo:reference>
中配置 url 指向提供者,这样就会绕过注册中心。多个地址用分号隔开,配置如下
<dubbo:reference id="xxxService" interface="com.alibaba.xxx.XxxService" url="dubbo://localhost:20890" />
提示
1.0.6
及以上版本支持通过 -D 参数指定
在 JVM 启动参数中添加 -D 参数映射服务地址,例如
java -Dcom.alibaba.xxx.XxxService=dubbo://localhost:20890
提示
键为服务名称,值为服务提供者 url。此配置优先级最高,1.0.15
及以上版本支持通过文件映射
如果服务很多,也可以使用文件映射,使用 -Ddubbo.resolve.file
指定映射文件路径,此配置优先级高于 <dubbo:reference>
中的配置 [^3],例如
java -Ddubbo.resolve.file=xxx.properties
然后在映射文件 xxx.properties
中添加配置,其中键为服务名称,值为服务提供者 URL
com.alibaba.xxx.XxxService=dubbo://localhost:20890
提示
1.0.15
及以上版本支持,2.0
及以上版本自动加载 ${user.home}/dubbo-resolve.properties 文件,无需配置注意
为了避免线上环境复杂化,线上不要使用此功能,只应该在测试阶段使用。最后修改时间:2023 年 1 月 2 日:增强 en 文档 (#1798) (95a9f4f6c1c)