Dubbo剖析-服务直连

一、前言

为了方便开发及测试,一般需要绕过注册中心,只测试指定ip的服务提供者,这时候服务消费方和服务提供方就是点对点直联方式。这时候服务消费方会忽略注册中心的提供者列表。另外直连方式以服务接口为单位,假如A 接口配置点对点,不影响 B 接口从注册中心获取列表。

二、直连方法

  • 通过-D参数指定
    在服务消费进程启动时候 JVM 启动参数中加入-D参数映射服务地址 ,如:
    -Dcom.test.UserServiceBo=dubbo://30.8.59.182:20880;则标示当调用com.test.UserServiceBo接口时候访问30.8.59.182:20880提供的服务,忽略zk发现列表。
  • 通过 XML 配置
    如果是XML方式点对点,可在 中配置 url 指向提供者,将绕过注册中
    心,多个地址用分号隔开,配置如下:
  • 通过文件映射
    如果服务比较多,也可以用文件映射,用 -Ddubbo.resolve.file 指定映射文件路径,此配置优先级高于 中的配置 ,如:
    java -Ddubbo.resolve.file=xxx.properties
    然后在映射文件 xxx.properties 中加入配置,其中 key 为服务名,value 为服务提供者
    URL:
    com.test.UserServiceBo=dubbo://30.8.59.182:20880

注:为了避免复杂化线上环境,不要在线上使用这个功能,只应在测试阶段使用。

欢迎大家加入知识星球,在知识星球里面我们会深入讨论Java并发编程,以及JUC包源码;Java类加载器原理;Spring,Springboot,Tomcat,Dubbo等开源框架的使用以及源码剖析;分享作者从毕业到现在一路走来的学习经验,如何高效学习,如何阅读源码;讨论职业面试时候会经常遇到的问题以及如何作答,读者可以识别下面二维码加入:

Dubbo剖析-服务直连