Dubbo本地调试的几种方式总结

dubbo服务方启动时需要加载的东西太多,如果跑单元测试把服务开启会浪费不少时间,而且单元测试没法保持服务一直开启的状态,这篇文章主要给大家介绍了关于Dubbo本地调试的几种方式,需要的朋友可以参考下

前言

在正常的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服务下的所有方法请求路由到本地,我们只需简单创建一个动态规则

  • service unique Id 配置为com.xxxx.api.xxService

  • 规则内容模板如下

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  
  • 配置的时候我们只需要把本地服务ip配置即可,更多的参数选项配置可以参考官方文档动态配置

总结

到此这篇关于Dubbo本地调试的几种方式的文章就介绍到这了,更多相关Dubbo本地调试内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!

本文标题为:Dubbo本地调试的几种方式总结

基础教程推荐