dubbo-本地直连

Posted 奔跑的小龙码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dubbo-本地直连相关的知识,希望对你有一定的参考价值。

一、背景

     目前项目是基于dubbo做为rpc,zk为注册中心实现多个微服务之间的远程服务调用。但需要本地联调dubbo接口时,需要绕过注册中心,达到不干扰线上服务,即只订阅不注册服务的目的。


 二、实现

1.修改服务提供者的配置文件:provider.xml

<dubbo:registry address="127.0.0.1:2181" register="false" />

或者

<dubbo:registry address="127.0.0.1:2181?register=false" />

register="false":禁用注册配置

 

2.dubbo接口本地直连设置(切记:适用于开发测试阶段,没有特定需求,线上不要使用)

第一种方式:通过 -D 参数指定

在 JVM 启动参数中加入-D参数映射服务地址,如:

java -Dcom.example.modules.user.UserFacade=dubbo://localhost:20880

 

第二种方式:在订阅配置文件consumer.xml中指定url

<dubbo:reference id="userFacade" interface="com.example.modules.user.UserFacade" url="dubbo://localhost:20880" />

注意不要把代码提交到服务器上。

 

第三种方式:映射配置文件
(2.0 以上版本)自动加载 ${user.home}/dubbo-resolve.properties文件,项目中不需要配置。

在本机电脑用户下新建文件dubbo-resolve.properties,然后在文件中加入需要直连的服务。

# 直连服务列表
com.example.modules.user.UserFacade=dubbo://localhost:20880

如果有多个,继续添加即可,推荐使用此种方式,可以避免代码提交,方便统一管理

以上是关于dubbo-本地直连的主要内容,如果未能解决你的问题,请参考以下文章

Dubbo——初识Dubbo框架使用直连方式实现Dubbo

Dubbo——初识Dubbo框架使用直连方式实现Dubbo

Dubbo 一些你不一定知道但是很好用的功能

dubbo-环境隔离

Dubbo -- 系统学习 笔记 -- 示例 -- 直连提供者

dubbo用户指南