Explicit target
在开发和测试环境中,通常需要绕过注册中心,直接连接指定的服务提供者进行测试。在这种情况下,点对点的直接连接是需要的,服务提供者将忽略提供注册提供者的列表。接口A配置了点对点,不会影响接口B从注册中心获取列表。
Configure with XML
如果是线上需求需要点对点的特性,你可以在 dubbo:reference 那配置指定的提供者的url。它将会绕过注册中心直接请求,多个地址之间用 [;]分隔,例如:
<dubbo:reference id="xxxService" interface="com.alibaba.xxx.XxxService" url="dubbo://localhost:20890" />
Configure with the -D argument
在JVM的启动参数中加上-D参数来映射服务地址:
java -Dcom.alibaba.xxx.XxxService=dubbo://localhost:20890
Configure with the .properties file
假如你的服务很多,你也可以使用 -Ddubbo.resolve.file 参数来指定文件路径的映射。这个配置优先于 <dubbo: reference> 里的配置,例如:
java -Ddubbo.resolve.file=xxx.properties
接着,在 xxx.properties 文件里加入配置信息,key是服务名,value是服务提供者的url
com.alibaba.xxx.XxxService=dubbo://localhost:20890
注意:为了避免线上环境的复杂化,不要在线上环境使用这个特性,应该仅仅在测试阶段使用。