在正常的dubbo开发迭代进程,本地调试是比较常见的状况,一般来说,主要以下两种状况咱们需求本地调试

  • dubbo服务开发调试阶段:

    这个阶段咱们一般不期望服务被他人拜访

  • dubbo服务现已发布测验环境,可是某个服务出了问题期望本地断点定位:

    本地发动的使用不期望对外露出,可是又需求对特定的服务路由到本地

开发调试阶段

一、制止注册到装备中心
Dubbo从2.0.8开始增加了协议注册开关,咱们能够经过关闭注册开关,关闭服务注册

<dubbo:registry address="xxxxxx" register="false"/>

二、版本号区别

在Provider装备版本号1.0.0

<dubbo:provider timeout="10000" threadpool="fixed" threads="100" accepts="1000" version="1.0.0"/>

Consumer 装备和provider相同的version 1.0.0

<dubbo:consumer version="1.0.0" />

三、经过url直接拜访

服务方不注册到注册中心

<dubbo:registry address="xxxxxx" register="false"/>

consumer经过设置相关服务的URL地址,能够实现直连本地dubbo服务

<dubbo:reference id="xxxxService" interface="xxxxx.xxxxService" protocol="dubbo" url="dubbo://127.0.0.1:10000"/>

已发布测验阶段

在dubbo供给的办理后台,经过服务管理的几种办法能够实现流量的从头分布;dubbo支持条件路由、标签路由、权重以及动态装备

一、条件路由
Dubbo供给动态创立条件路由的服务管理能力,能够在无需重启使用的状况下,根据恳求建议方、恳求的办法条件路由。具体装备能够参阅官方文档

二、动态装备
dubbo也支持经过动态规矩轻松实现恳求的从头分布
例如: 需求对 com.xxxx.api.xxService服务下的所有办法恳求路由到本地,咱们只需简单创立一个动态规矩

  1. service unique Id 装备为com.xxxx.api.xxService

  2. 规矩内容模板如下

configVersion: v2.7
scope: application/service
key: app-name/group+service+version
enabled: true
configs: 
  - addresses: [0.0.0.0]  # 0.0.0.0 for all addresses
    side: consumer        # effective side, consumer or addresses
    parameters: 
      timeout: 6000  
  1. 装备的时分咱们只需求把本地服务ip装备即可,更多的参数选项装备能够参阅官方文档动态装备