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本地调试的几种方式总结
基础教程推荐
- 关于Java双大括号{{}}的具体使用 2023-03-15
- Java List的get方法 2023-10-08
- Spring Cloud Config分布式配置中心使用介绍详解 2023-05-07
- MyBatis-Plus自定义通用的方法实现 2023-07-15
- Java多线程学习笔记之三内存屏障与Java内存模型 2023-09-01
- java知识点7——面向过程和面向对象、面向对象的内存分析、构造方法 2023-09-01
- RocketMQ Push 消费模型示例详解 2023-05-24
- 一文带你搞懂Java中方法重写与方法重载的区别 2023-07-14
- Java Web开发中过滤器和监听器使用详解 2023-06-30
- Java实现插入排序算法可视化的示例代码 2023-04-23
